import {useUser} from '@common/auth/ui/use-user'; import {Trans} from '@common/i18n/trans'; import {Button} from '@common/ui/buttons/button'; import {useResendVerificationEmail} from '@common/auth/requests/use-resend-verification-email'; import {useIsDarkMode} from '@common/ui/themes/use-is-dark-mode'; import {useSettings} from '@common/core/settings/use-settings'; import {useLogout} from '@common/auth/requests/logout'; import {Form} from '@common/ui/forms/form'; import {useForm} from 'react-hook-form'; import {FormTextField} from '@common/ui/forms/input-field/text-field/text-field'; import {useTrans} from '@common/i18n/use-trans'; import {message} from '@common/i18n/message'; import {KeyboardArrowLeftIcon} from '@common/icons/material/KeyboardArrowLeft'; import { useValidateEmailVerificationOtp, ValidateEmailVerificationOtpPayload, } from '@common/auth/requests/use-validate-email-verification-otp'; export function EmailVerificationPage() { const {trans} = useTrans(); const {data} = useUser('me'); const resendEmail = useResendVerificationEmail(); const { branding: {logo_light, logo_dark}, } = useSettings(); const isDarkMode = useIsDarkMode(); const logoSrc = isDarkMode ? logo_light : logo_dark; const logout = useLogout(); const form = useForm(); const validateOtp = useValidateEmailVerificationOtp(form); return (
{logoSrc && ( Site logo )}

validateOtp.mutate(values)} className="my-16" > } placeholder={trans(message('Enter your verification code'))} autoFocus autoComplete="one-time-code" autoCorrect="off" autoCapitalize="off" maxLength={6} inputMode="numeric" required />
( ), }} />
); } function maskEmailAddress(email: string | undefined) { if (!email) return '*******************'; const [username, domain] = email.split('@'); return `${username.slice(0, 2)}****@${domain}`; }