'use client'; import { useState, useEffect } from 'react'; import { useSearchParams } from 'next/navigation'; import { Link, useRouter } from '@/i18n/navigation'; import { useTranslations } from 'next-intl'; export default function VerifyEmailPage() { const t = useTranslations('auth.verifyEmail'); const searchParams = useSearchParams(); const router = useRouter(); const [loading, setLoading] = useState(true); const [success, setSuccess] = useState(false); const [error, setError] = useState(''); useEffect(() => { const verifyEmail = async () => { const token = searchParams.get('token'); if (!token) { setError(t('errorInvalidLink')); setLoading(false); return; } try { await new Promise(resolve => setTimeout(resolve, 1000)); setSuccess(true); setTimeout(() => { router.push('/dashboard'); }, 3000); } catch (err: any) { setError(err.response?.data?.message || t('errorGeneric')); } finally { setLoading(false); } }; verifyEmail(); }, [searchParams, router, t]); if (loading) { return (

Xpeditis

{t('verifyingTitle')}

); } if (success) { return (

Xpeditis

{t('successTitle')}

{t('successMessage')}

{t('goToDashboard')}
); } return (

Xpeditis

{t('errorTitle')}

{error}

{t('errorHint')}

{t('backToLogin')}
); }