Compare commits
2 Commits
672ff1d2f1
...
f2e10f958d
| Author | SHA1 | Date | |
|---|---|---|---|
| f2e10f958d | |||
| 903b856303 |
@@ -5,6 +5,7 @@ import { useWifiAndModem } from "../../../hooks/useCameraWifiandModem";
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { faEyeSlash, faEye } from "@fortawesome/free-solid-svg-icons";
|
import { faEyeSlash, faEye } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
import { toast, Toaster } from "sonner";
|
||||||
|
|
||||||
const WiFiSettingsForm = () => {
|
const WiFiSettingsForm = () => {
|
||||||
const [showPwd, setShowPwd] = useState(false);
|
const [showPwd, setShowPwd] = useState(false);
|
||||||
@@ -19,6 +20,13 @@ const WiFiSettingsForm = () => {
|
|||||||
encryption: "WPA2",
|
encryption: "WPA2",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const validatePassword = (password: string) => {
|
||||||
|
if (password.length < 8) {
|
||||||
|
toast.error("Password must be at least 8 characters long", { id: "password" });
|
||||||
|
return "Password must be at least 8 characters long";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const handleSubmit = async (values: WifiSettingValues) => {
|
const handleSubmit = async (values: WifiSettingValues) => {
|
||||||
const wifiConfig = {
|
const wifiConfig = {
|
||||||
id: "ModemAndWifiManager-wifi",
|
id: "ModemAndWifiManager-wifi",
|
||||||
@@ -37,6 +45,7 @@ const WiFiSettingsForm = () => {
|
|||||||
await wifiMutation.mutateAsync(wifiConfig);
|
await wifiMutation.mutateAsync(wifiConfig);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
|
<>
|
||||||
<Formik initialValues={initialValues} onSubmit={handleSubmit} enableReinitialize>
|
<Formik initialValues={initialValues} onSubmit={handleSubmit} enableReinitialize>
|
||||||
{({ isSubmitting }) => (
|
{({ isSubmitting }) => (
|
||||||
<Form className="flex flex-col space-y-5 px-2">
|
<Form className="flex flex-col space-y-5 px-2">
|
||||||
@@ -63,7 +72,9 @@ const WiFiSettingsForm = () => {
|
|||||||
type={showPwd ? "text" : "password"}
|
type={showPwd ? "text" : "password"}
|
||||||
className="p-2 border border-gray-400 rounded-lg w-full"
|
className="p-2 border border-gray-400 rounded-lg w-full"
|
||||||
placeholder="Enter Password"
|
placeholder="Enter Password"
|
||||||
|
validate={validatePassword}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<FontAwesomeIcon
|
<FontAwesomeIcon
|
||||||
type="button"
|
type="button"
|
||||||
className="absolute right-5 end-0"
|
className="absolute right-5 end-0"
|
||||||
@@ -97,6 +108,8 @@ const WiFiSettingsForm = () => {
|
|||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
|
<Toaster />
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user