import { Formik, Form, Field } from "formik"; import FormGroup from "../components/FormGroup"; import type { ModemSettingsType } from "../../../types/types"; import { useWifiAndModem } from "../../../hooks/useCameraWifiandModem"; import { useEffect, useState } from "react"; import ModemToggle from "./ModemToggle"; import { faEyeSlash, faEye } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; const ModemSettings = () => { const [showSettings, setShowSettings] = useState(false); const [showPwd, setShowPwd] = useState(false); const { modemQuery, modemMutation } = useWifiAndModem(); const apn = modemQuery?.data?.propAPN?.value; const username = modemQuery?.data?.propUsername.value; const password = modemQuery?.data?.propPassword?.value; const mode = modemQuery?.data?.propMode?.value; useEffect(() => { setShowSettings(mode === "AUTO"); }, [mode]); const inititalValues = { apn: apn ?? "", username: username ?? "", password: password ?? "", authenticationType: "PAP", }; const handleSubmit = async (values: ModemSettingsType) => { const modemConfig = { id: "ModemAndWifiManager-modem", fields: [ { property: "propAPN", value: values.apn, }, { property: "propPassword", value: values.password, }, { property: "propUsername", value: values.username, }, { property: "propMode", value: showSettings ? "AUTO" : "MANUAL", }, ], }; await modemMutation.mutateAsync(modemConfig); }; return ( <> {!showSettings && ( {({ isSubmitting }) => (
setShowPwd((s) => !s)} icon={showPwd ? faEyeSlash : faEye} />
)}
)} ); }; export default ModemSettings;