import Button from '@/components/ui/forms/Button'; import FormError from '@/components/ui/forms/FormError'; import FormInfo from '@/components/ui/forms/FormInfo'; import FormLabel from '@/components/ui/forms/FormLabel'; import FormSegment from '@/components/ui/forms/FormSegment'; import FormTextInput from '@/components/ui/forms/FormTextInput'; import { BaseCreateUserSchema } from '@/services/users/auth/schema/CreateUserValidationSchemas'; import createErrorToast from '@/util/createErrorToast'; import { zodResolver } from '@hookform/resolvers/zod'; import { NextPage } from 'next'; import { SubmitHandler, useForm } from 'react-hook-form'; import toast from 'react-hot-toast'; import { useRouter } from 'next/router'; import { FaUserCircle } from 'react-icons/fa'; import { sendForgotPasswordRequest } from '@/requests/users/auth'; interface ForgotPasswordPageProps {} const ForgotPasswordPage: NextPage = () => { const { register, handleSubmit, formState, reset } = useForm({ resolver: zodResolver(BaseCreateUserSchema.pick({ email: true })), defaultValues: { email: '' }, }); const router = useRouter(); const { errors } = formState; const onSubmit: SubmitHandler<{ email: string }> = async (data) => { try { const loadingToast = toast.loading('Sending reset link...'); await sendForgotPasswordRequest({ email: data.email }); reset(); toast.dismiss(loadingToast); toast.success('Password reset link sent!'); router.push('/'); } catch (error) { createErrorToast(error); } }; return (

Forgot Your Password?

Enter your email address below, and we will send you a link to reset your password.

Email {errors.email?.message}
); }; export default ForgotPasswordPage;