import { useEffect, useState } from 'react' import { useSearchParams, Link } from 'react-router-dom' import { useTranslation } from 'react-i18next' import { authApi } from '../api/auth' import LanguageSwitcher from '../components/LanguageSwitcher' export default function VerifyEmail() { const { t } = useTranslation() const [searchParams] = useSearchParams() const [status, setStatus] = useState<'loading' | 'success' | 'error'>('loading') const [error, setError] = useState('') useEffect(() => { const token = searchParams.get('token') if (!token) { setStatus('error') setError(t('common.error')) return } const verify = async () => { try { await authApi.verifyEmail(token) setStatus('success') } catch (err: unknown) { setStatus('error') const error = err as { response?: { data?: { detail?: string } } } setError(error.response?.data?.detail || t('emailVerification.failed')) } } verify() }, [searchParams, t]) return (
{/* Language switcher in corner */}
{status === 'loading' && (

{t('emailVerification.verifying')}

{t('emailVerification.pleaseWait')}

)} {status === 'success' && (

{t('emailVerification.success')}

{t('emailVerification.successMessage')}

{t('emailVerification.goToLogin')}
)} {status === 'error' && (

{t('emailVerification.failed')}

{error}

{t('emailVerification.goToLogin')}
)}
) }