"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { CheckCircle2, XCircle } from "lucide-react"; import Link from "next/link"; import { createBrowserSupabaseClient } from "@/lib/supabase"; export default function AuthCallbackPage() { const router = useRouter(); const [status, setStatus] = useState<"loading" | "success" | "error">("loading"); useEffect(() => { const supabase = createBrowserSupabaseClient(); const { data: { subscription } } = supabase.auth.onAuthStateChange((event, session) => { if ((event === "SIGNED_IN" || event === "TOKEN_REFRESHED") && session) { setStatus("success"); setTimeout(() => router.replace("/kunden/dashboard"), 1500); } }); supabase.auth.getSession().then(({ data: { session } }) => { if (session) { setStatus("success"); setTimeout(() => router.replace("/kunden/dashboard"), 1500); } else { setTimeout(() => { supabase.auth.getSession().then(({ data: { session: s } }) => { if (s) { setStatus("success"); setTimeout(() => router.replace("/kunden/dashboard"), 1500); } else { setStatus("error"); } }); }, 2000); } }); return () => subscription.unsubscribe(); }, [router]); if (status === "loading") { return (

E-Mail-Adresse wird bestätigt…

); } if (status === "success") { return (

E-Mail bestätigt!

Sie werden automatisch weitergeleitet…

); } return (

Bestätigung fehlgeschlagen

Der Bestätigungslink ist abgelaufen oder ungültig. Bitte registrieren Sie sich erneut.

Zur Registrierung
); }