import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import Link from 'next/link'; import axios from 'axios'; import Field from '../../common/Field'; import ArrowBigRight from '../../icons/ArrowBigRight'; import RoundedButton from '../../common/RoundedButton'; import { ResetPasswordForm, ResetPasswordProps, } from '../../../model/components/resetPassword'; import { CustomResponse } from '../../../model/common'; const ResetPassword: React.FC = ({ email, token }) => { const [loading, setLoading] = useState(false); const [changed, setChanged] = useState(false); const { t } = useTranslation(); const { formState: { errors }, handleSubmit, register, getValues, setError, } = useForm(); const onSubmit = ({ password, repeatPassword }: ResetPasswordForm): void => { setLoading(true); setError('repeatPassword', null); axios .post>('/api/resetPassword', { password, passwordConfirmation: repeatPassword, token, }) .then((response) => { const { ok, error: apiError } = response.data; if (!ok) { setError('repeatPassword', { message: apiError }); setLoading(false); } else { setChanged(true); } }); }; return (

Recuperar
Contraseña

Escribe la nueva contraseña y confírmala.

La contraseña deberá tener
8 carateres min. / Mayúsculas, minúsculas y números.

{changed ? ( <>

{t('PASSWORD_CHANGED')}

{t('LOGIN')}

) : ( <>
value !== getValues('password') ? 'PASSWORDS_DONT_MATCH' : undefined, })} /> } />

{t('CANCEL')}

)}
); }; export default ResetPassword;