import { SpanBox, VStack } from '../../elements/LayoutPrimitives' import { Button } from '../../elements/Button' import { StyledText } from '../../elements/StyledText' import { useEffect, useRef, useState } from 'react' import { BorderedFormInput, FormLabel } from '../../elements/FormElements' import { fetchEndpoint } from '../../../lib/appConfig' import { logoutMutation } from '../../../lib/networking/mutations/logoutMutation' import { useRouter } from 'next/router' import { formatMessage } from '../../../locales/en/messages' import { parseErrorCodes } from '../../../lib/queryParamParser' import { Recaptcha } from '../../elements/Recaptcha' const ForgotPasswordForm = (): JSX.Element => { const [email, setEmail] = useState() return ( Email { e.preventDefault() setEmail(e.target.value) }} /> ) } export function EmailForgotPassword(): JSX.Element { const router = useRouter() const [email, setEmail] = useState('') const [errorMessage, setErrorMessage] = useState(undefined) const recaptchaTokenRef = useRef(null) useEffect(() => { if (!router.isReady) return const errorCode = parseErrorCodes(router.query) const errorMsg = errorCode ? formatMessage({ id: `error.${errorCode}` }) : undefined setErrorMessage(errorMsg) }, [router.isReady, router.query]) return (
Reset your password {process.env.NEXT_PUBLIC_RECAPTCHA_CHALLENGE_SITE_KEY && ( <> { if (recaptchaTokenRef.current) { recaptchaTokenRef.current.value = token } else { console.log('error updating recaptcha token') } }} /> )} {errorMessage && {errorMessage}}
) }