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 onBack: () => void state: State } const AccessCodeForm: FC = ({ variant, state: { state }, onSubmit, onBack, }) => { const { formatMessage } = useIntl() const input = useRef(null) return ( <> {formatMessage({ id: 'login.page.emailVerification.accessCodeForm.title', defaultMessage: 'Enter the access code sent to your e-mail', })} { e.preventDefault() onSubmit(input.current?.value ?? '') }} variant={variant} > {state === 'accessCodeForm.invalidAccessCode' && ( {formatMessage({ id: 'login.page.emailVerification.accessCodeForm.invalidAccessCode', defaultMessage: 'Insert a valid 6-digit access code', })} )} {state === 'accessCodeForm.authError' && ( {formatMessage({ id: 'login.page.emailVerification.accessCodeForm.authError', defaultMessage: 'Something went wrong with your access code. Please recheck it and try again', })} )} ) } export default AccessCodeForm