diff --git a/src/components/AuthPages/ForgotPassword/index.jsx b/src/components/AuthPages/ForgotPassword/index.jsx index 79405a3..5a4e973 100755 --- a/src/components/AuthPages/ForgotPassword/index.jsx +++ b/src/components/AuthPages/ForgotPassword/index.jsx @@ -3,34 +3,49 @@ import { Link, useNavigate } from 'react-router-dom'; import titleShape from "../../../assets/images/shape/title-shape-two.svg"; import InputCom from "../../Helpers/Inputs/InputCom"; import AuthLayout from "../AuthLayout"; +import usersService from "../../../services/UsersService"; export default function ForgotPassword() { - const navigate = useNavigate(); const [validation, setValidation] = useState("") const [buttonDisabled, setButtonDisabled] = useState(true) + const [loading, setLoading] = useState(false); + const user = new usersService() - // email const [email, setEmail] = useState(""); const handleEmail = (e) => { setEmail(e.target.value); }; - function validationChecker(email) { const emailCheck = /^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/; if (email === "") { setValidation("email is required"); - } else if (!email.match(emailCheck)) { setValidation('Please input a valid email address'); - } else { setValidation(""); setButtonDisabled(false) } } + const handleSubmit = async() => { + const resetEmail = { + username: email, + stage: 100 + } + const reset = await user.resetPassword(resetEmail); + setLoading(true) + if (reset.status == 200){ + setTimeout(() => { + navigate("/verify-you", {replace : true}); + setLoading(false) + }, 2000); + }else{ + setValidation('An error occurred') + } + } + useEffect(() => { validationChecker(email) }, [email]) @@ -61,21 +76,21 @@ export default function ForgotPassword() { inputHandler={handleEmail} value={email} /> - {validation &&
{validation}
} + {validation &&{validation}
}