import React, { useMemo } from 'react'; import * as Yup from 'yup'; import { useFormik } from 'formik'; import { FormattedMessage as T, useIntl } from 'react-intl'; import { Link, useHistory } from 'react-router-dom'; import { Button, InputGroup, Intent, FormGroup } from '@blueprintjs/core'; import { compose } from 'utils'; import AppToaster from 'components/AppToaster'; import ErrorMessage from 'components/ErrorMessage'; import AuthInsider from 'containers/Authentication/AuthInsider'; import withAuthenticationActions from './withAuthenticationActions'; function SendResetPassword({ requestSendResetPassword }) { const { formatMessage } = useIntl(); const history = useHistory(); // Validation schema. const ValidationSchema = Yup.object().shape({ crediential: Yup.string() .required() .email().label(formatMessage({id:''})), }); const initialValues = useMemo( () => ({ crediential: '', }), [] ); // Formik validation const { values, errors, touched, handleSubmit, getFieldProps, setFieldValue, isSubmitting, } = useFormik({ enableReinitialize: true, validationSchema: ValidationSchema, initialValues: { ...initialValues, }, onSubmit: (values, { setSubmitting }) => { requestSendResetPassword(values.crediential) .then((response) => { AppToaster.show({ message: formatMessage({id:'check_your_email_for_a_link_to_reset'}), intent: Intent.SUCCESS, }); history.push('/auth/login'); setSubmitting(false); }) .catch((errors) => { if (errors.find((e) => e.type === 'EMAIL.NOT.REGISTERED')) { AppToaster.show({ message: formatMessage({id:'we_couldn_t_find_your_account_with_that_email'}), intent: Intent.DANGER, }); } setSubmitting(false); }); }, }); return (

} className={'form-group--crediential'} >
); } export default compose(withAuthenticationActions)(SendResetPassword);