'use client' import { Suspense, useEffect, useState } from 'react' import { useRouter, useSearchParams } from 'next/navigation' import { elternApi } from '@/lib/eltern/api' function LoginInner() { const router = useRouter() const search = useSearchParams() const [error, setError] = useState(null) const [done, setDone] = useState(false) useEffect(() => { const token = search.get('token') if (!token) { setError('Kein Token in der URL. Bitte den Link aus der Einladung verwenden.') return } elternApi.redeem(token) .then(() => { setDone(true); setTimeout(() => router.replace('/eltern'), 800) }) .catch(e => setError(e instanceof Error ? e.message : 'Login fehlgeschlagen')) }, [router, search]) return (

Eltern-Login

{!error && !done &&

Pruefe Token …

} {done &&

Erfolgreich angemeldet. Weiterleitung …

} {error && (
{error}
)}
) } export default function ElternLoginPage() { return ( ) }