MCPcopy Create free account
hub / github.com/dhatGuy/PERN-Store / ForgotPasswordModal

Function ForgotPasswordModal

client/src/components/ForgotPasswordModal.jsx:18–112  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16import authService from "services/auth.service";
17
18const ForgotPasswordModal = () => {
19 const [isOpen, setIsOpen] = useState(false);
20 const [msg, setMsg] = useState("");
21 const [isSending, setIsSending] = useState(false);
22 const {
23 handleSubmit,
24 register,
25 formState: { errors },
26 } = useForm();
27
28 const toggleModal = () => {
29 setMsg("");
30 setIsOpen(!isOpen);
31 };
32
33 const onSubmitReset = (data) => {
34 setMsg("");
35 setIsSending(true);
36 authService
37 .forgotPassword(data.email)
38 .then((data) => {
39 if (data.data.status === "OK") {
40 setIsSending(false);
41 toast.success("Email has been sent successfully.");
42 setIsOpen(false);
43 }
44 })
45 .catch((error) => {
46 setIsSending(false);
47 setMsg(error.response.data.message);
48 });
49 };
50 return (
51 <div>
52 <>
53 {isOpen && <Backdrop />}
54 <span
55 onClick={() => setIsOpen(!isOpen)}
56 className="mb-1 text-sm text-purple-700 cursor-pointer"
57 >
58 Forgot password?
59 </span>
60 <Modal isOpen={isOpen} onClose={toggleModal}>
61 <form onSubmit={handleSubmit(onSubmitReset)}>
62 <ModalHeader>Forgot Password</ModalHeader>
63 <ModalBody>
64 <Label>
65 <span className="font-semibold">Email</span>
66 <Input
67 name="email"
68 className="mt-1 border py-2 pl-2"
69 valid
70 type="email"
71 inputMode="email"
72 {...register("email", {
73 required: "Email required",
74 pattern: {
75 // eslint-disable-next-line no-useless-escape

Callers

nothing calls this directly

Calls 1

handleSubmitFunction · 0.70

Tested by

no test coverage detected