import React, { FC, useRef } from 'react' import { Alert, Box, Button, Input } from '@vtex/store-ui' import { useIntl } from '@vtex/gatsby-plugin-i18n' import { State } from './state' interface Props { variant: string onSubmit: (email: string) => Promise state: State } const EmailForm: FC = ({ variant, state: { state }, onSubmit }) => { const { formatMessage } = useIntl() const input = useRef(null) return ( <> {formatMessage({ id: 'login.page.emailVerification.emailForm.title', defaultMessage: 'Receive access code by e-mail', })} { e.preventDefault() onSubmit(input.current?.value ?? '') }} variant={variant} > {state === 'emailForm.invalidEmailInput' && ( {formatMessage({ id: 'login.page.emailVerification.emailForm.invalidEmailInput', defaultMessage: 'Please insert a valid email', })} )} {state === 'emailForm.authError' && ( {formatMessage({ id: 'login.page.emailVerification.emailForm.error', defaultMessage: 'Something went wrong, please try again later', })} )} ) } export default EmailForm