"use client"; import { useEffect, useState } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import { Button } from "@/components/ui/button"; import { CheckCircle, AlertCircle, ArrowRight } from "lucide-react"; import { supabase } from '@/lib/supabaseClient'; import { colors } from '@/lib/colors'; export default function VerifyEmailPage() { const router = useRouter(); const searchParams = useSearchParams(); const [verificationStatus, setVerificationStatus] = useState<'loading' | 'success' | 'error'>('loading'); const [errorMessage, setErrorMessage] = useState(''); useEffect(() => { const handleEmailVerification = async () => { try { // Get the session from the URL parameters const { data, error } = await supabase.auth.getSession(); if (error) { console.error('Error getting session:', error); setVerificationStatus('error'); setErrorMessage('Fehler bei der E-Mail-Verifizierung. Bitte versuchen Sie es erneut.'); return; } if (data.session) { // User is authenticated, verification was successful setVerificationStatus('success'); // Redirect back to the main page after a short delay setTimeout(() => { router.push('/#contact'); }, 3000); } else { // No session found, verification might have failed setVerificationStatus('error'); setErrorMessage('E-Mail-Verifizierung fehlgeschlagen. Bitte überprüfen Sie den Link und versuchen Sie es erneut.'); } } catch (err) { console.error('Error during email verification:', err); setVerificationStatus('error'); setErrorMessage('Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.'); } }; handleEmailVerification(); }, [router]); return (
{verificationStatus === 'loading' && ( <>

E-Mail wird verifiziert...

Bitte warten Sie einen Moment, während wir Ihre E-Mail-Adresse bestätigen.

)} {verificationStatus === 'success' && ( <>

E-Mail erfolgreich verifiziert!

Vielen Dank! Ihre E-Mail-Adresse wurde erfolgreich bestätigt. Ihr Termin wird nun in unserem System gespeichert.

Sie werden automatisch zur Hauptseite weitergeleitet...

)} {verificationStatus === 'error' && ( <>

Verifizierung fehlgeschlagen

{errorMessage}

)}
); }