import React, { useState } from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { Redirect } from 'react-router-dom'; import { resetPassword } from 'soapbox/actions/security'; import { Button, Form, FormActions, FormGroup, Input } from 'soapbox/components/ui'; import { useAppDispatch, useFeatures } from 'soapbox/hooks'; import toast from 'soapbox/toast'; const messages = defineMessages({ nicknameOrEmail: { id: 'password_reset.fields.username_placeholder', defaultMessage: 'E-mail or username' }, email: { id: 'password_reset.fields.email_placeholder', defaultMessage: 'E-mail address' }, confirmation: { id: 'password_reset.confirmation', defaultMessage: 'Check your email for confirmation.' }, }); const PasswordReset = () => { const dispatch = useAppDispatch(); const intl = useIntl(); const features = useFeatures(); const [isLoading, setIsLoading] = useState(false); const [success, setSuccess] = useState(false); const handleSubmit = (e: React.FormEvent) => { const nicknameOrEmail = (e.target as any).nickname_or_email.value; setIsLoading(true); dispatch(resetPassword(nicknameOrEmail)).then(() => { setIsLoading(false); setSuccess(true); toast.info(intl.formatMessage(messages.confirmation)); }).catch(() => { setIsLoading(false); }); }; if (success) return ; return (

); }; export default PasswordReset;