'use client'; /** * Anmeldeseite (plan.md Abschnitt 11). */ import { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { Button, Card, ErrorMessage, Input, Label } from '@/components/ui/ui'; export default function LoginPage() { const router = useRouter(); const [error, setError] = useState(null); const [busy, setBusy] = useState(false); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); setBusy(true); setError(null); const formData = new FormData(event.currentTarget); try { const response = await fetch('/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: formData.get('email'), password: formData.get('password'), }), }); if (!response.ok) { const data = (await response.json()) as { error?: string }; setError(data.error ?? 'Anmeldung fehlgeschlagen.'); return; } router.push('/dashboard'); router.refresh(); } catch { setError('Netzwerkfehler. Bitte erneut versuchen.'); } finally { setBusy(false); } } return (

Anmelden

Konto erstellen Passwort vergessen?
); }