import { useState, useEffect } from 'react' import { Link, useSearchParams, useNavigate } from 'react-router-dom' import { Button } from '@/components/ui/button' import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@/components/ui/card' import { auth } from '@/lib/appwrite' import { Mail, Loader2, CheckCircle, XCircle, RefreshCw } from 'lucide-react' export function VerifyEmail() { const [searchParams] = useSearchParams() const navigate = useNavigate() const userId = searchParams.get('userId') const secret = searchParams.get('secret') const [status, setStatus] = useState<'loading' | 'success' | 'error'>('loading') const [error, setError] = useState('') useEffect(() => { verifyEmail() }, [userId, secret]) const verifyEmail = async () => { if (!userId || !secret) { setStatus('error') setError('Ungültiger Verifizierungslink') return } try { await auth.verifyEmail(userId, secret) setStatus('success') } catch (err: any) { setStatus('error') setError(err.message || 'Fehler bei der Verifizierung') } } const handleResendVerification = async () => { setStatus('loading') setError('') try { await auth.sendVerification() setError('') alert('Neue Verifizierungs-E-Mail wurde gesendet!') } catch (err: any) { setError(err.message || 'Fehler beim Senden') } finally { setStatus('error') } } return (
{/* Logo */}
EmailSorter {status === 'loading' && 'E-Mail wird verifiziert...'} {status === 'success' && 'E-Mail verifiziert!'} {status === 'error' && 'Verifizierung fehlgeschlagen'} {status === 'loading' && 'Bitte warte einen Moment.'} {status === 'success' && 'Deine E-Mail-Adresse wurde erfolgreich bestätigt.'} {status === 'error' && error} {status === 'loading' && (

Verifizierung läuft...

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

Dein Account ist jetzt vollständig aktiviert!

Du kannst jetzt alle Features von EmailSorter nutzen.

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

{error || 'Der Verifizierungslink ist ungültig oder abgelaufen.'}

Falls dein Link abgelaufen ist, kannst du eine neue Verifizierungs-E-Mail anfordern.

)}
{/* Help text */}

Probleme? Kontaktiere uns unter{' '} support@emailsorter.de

) }