import React, { useState, useEffect } from "react"; import { useForm } from "react-hook-form"; import { useChangePassword, useRouter } from "../../src/core/hooks"; import { Box, FormControl, FormErrorMessage, InputGroup, Stack, Center, Button, Input, InputRightElement, ScaleFade, Heading, } from "@chakra-ui/react"; import { Icon } from "../../src/Theme"; import { getLayout } from "../../src/layouts/AccountLayout"; const Security = () => { const headingStyle = { as: "h2", pt: 2, mb: 4, borderBottom: "solid", borderColor: "primary.50", borderBottomWidth: "2px", }; const router = useRouter(); const { handleSubmit, errors, register, setError } = useForm(); const { changePassword, data, isLoading } = useChangePassword(); const [showPassword, setShowPassword] = useState({ password: "password", newPassword: "password", confirmPassword: "password", }); const togglePassword = (key) => { if (showPassword[key] === "password") { setShowPassword({ ...showPassword, [key]: "text" }); } else { setShowPassword({ ...showPassword, [key]: "password" }); } }; const change = (data) => { if (data.newPassword !== data.confirmPassword) { return setError("confirmPassword", { type: "manual", message: "New password and confirm password does not match", }); } else { changePassword({ newPassword: data.newPassword, currentPassword: data.currentPassword, }); } }; useEffect(() => { if (data) router.push("/"); }, [data, router]); return ( Change password
togglePassword("password")}> {errors.newPassword && errors.newPassword.message} togglePassword("newPassword")} > {errors.newPassword && errors.newPassword.message} togglePassword("confirmPassword")} > {errors.confirmPassword && errors.confirmPassword.message}
); }; Security.getLayout = getLayout; export default Security;