import React, {useContext, useState} from "react"; import Link from "next/link"; import System from "@/lib/models/System"; import {AlertContext} from "@/context/AlertContext"; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {faKey} from '@fortawesome/free-solid-svg-icons'; import {useTranslations} from "next-intl"; import {LangContext, LangContextProps} from "@/context/LangContext"; export default function StepTree( { email, prevStep }: { email: string; prevStep: Function; }) { const {errorMessage, successMessage} = useContext(AlertContext); const [isConfirmed, setIsConfirmed] = useState(false); const [verifyCode, setVerifyCode] = useState(''); const t = useTranslations(); const {lang} = useContext(LangContext) async function handleVerifyCode(): Promise { if (verifyCode === '') { errorMessage(t('registerStepTwo.error.codeIncorrect')); return; } try { const response: boolean = await System.postToServer('register/verify-code', { verifyCode, email, }, lang); if (!response) { errorMessage(t('registerStepTwo.error.codeIncorrect')); return; } setIsConfirmed(true); successMessage(t('registerStepTwo.success.verified')); } catch (e: unknown) { if (e instanceof Error) { errorMessage(e.message); } else { errorMessage(t('registerStepTwo.error.unknown')); } } } return ( !isConfirmed ? (

{t('registerStepTwo.instructions.sent')}

{t('registerStepTwo.instructions.checkInbox')}

setVerifyCode(e.target.value)} required />
) : (

{t('registerStepTwo.confirmed')}

) ) }