import * as React from 'react'; import { useSearchParams, useNavigate } from 'react-router-dom'; import { useMutation } from '@apollo/client'; import Paper from '@mui/material/Paper'; import Typography from '@mui/material/Typography'; import LoadingButton from '@mui/lab/LoadingButton'; import { useSnackbar } from 'notistack'; import * as yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; import * as URLS from 'config/urls'; import Form from 'components/Form'; import TextField from 'components/TextField'; import useFormatMessage from 'hooks/useFormatMessage'; import { RESET_PASSWORD } from 'graphql/mutations/reset-password.ee'; const validationSchema = yup.object().shape({ password: yup.string().required('resetPasswordForm.mandatoryInput'), confirmPassword: yup .string() .required('resetPasswordForm.mandatoryInput') .oneOf([yup.ref('password')], 'resetPasswordForm.passwordsMustMatch'), }); export default function ResetPasswordForm() { const { enqueueSnackbar } = useSnackbar(); const formatMessage = useFormatMessage(); const navigate = useNavigate(); const [searchParams] = useSearchParams(); const [resetPassword, { data, loading }] = useMutation(RESET_PASSWORD); const token = searchParams.get('token'); const handleSubmit = async (values: any) => { await resetPassword({ variables: { input: { password: values.password, token, }, }, }); enqueueSnackbar(formatMessage('resetPasswordForm.passwordUpdated'), { variant: 'success' }); navigate(URLS.LOGIN); }; return ( theme.palette.text.disabled, pb: 2, mb: 2, }} gutterBottom > {formatMessage('resetPasswordForm.title')}
( <> {formatMessage('resetPasswordForm.submit')} )} /> ); }