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 (
Verifizierung läuft...
Dein Account ist jetzt vollständig aktiviert!
Du kannst jetzt alle Features von EmailSorter nutzen.
{error || 'Der Verifizierungslink ist ungültig oder abgelaufen.'}
Falls dein Link abgelaufen ist, kannst du eine neue Verifizierungs-E-Mail anfordern.
Probleme? Kontaktiere uns unter{' '} support@emailsorter.de