import { useState } from 'react'; import { useForm } from 'react-hook-form'; import { useRecoilValue } from 'recoil'; import store from '~/store'; import { localize } from '~/localization/Translation'; import { useRequestPasswordResetMutation, TRequestPasswordReset, TRequestPasswordResetResponse, } from '@librechat/data-provider'; function RequestPasswordReset() { const lang = useRecoilValue(store.lang); const { register, handleSubmit, formState: { errors }, } = useForm(); const requestPasswordReset = useRequestPasswordResetMutation(); const [success, setSuccess] = useState(false); const [requestError, setRequestError] = useState(false); const [resetLink, setResetLink] = useState(''); const onSubmit = (data: TRequestPasswordReset) => { requestPasswordReset.mutate(data, { onSuccess: (data: TRequestPasswordResetResponse) => { setSuccess(true); setResetLink(data.link); }, onError: () => { setRequestError(true); setTimeout(() => { setRequestError(false); }, 5000); }, }); }; return (

{localize(lang, 'com_auth_reset_password')}

{success && (
{localize(lang, 'com_auth_click')}{' '} {localize(lang, 'com_auth_here')} {' '} {localize(lang, 'com_auth_to_reset_your_password')} {/* An email has been sent with instructions on how to reset your password. */}
)} {requestError && (
{localize(lang, 'com_auth_error_reset_password')}
)}
{errors.email && ( {/* @ts-ignore not sure why */} {errors.email.message} )}
); } export default RequestPasswordReset;