'use client'; /** * "Passwort vergessen"-Seite (plan.md Abschnitt 11). * Antwortet immer mit Erfolgsmeldung (kein Account-Enumeration). */ import { appFetch } from '@/lib/client-fetch'; import { useState } from 'react'; import Link from 'next/link'; import { Button, Card, ErrorMessage, Input, Label } from '@/components/ui/ui'; export default function ForgotPasswordPage() { const [submitted, setSubmitted] = useState(false); 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 appFetch('/api/auth/forgot-password', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: formData.get('email') }), }); if (!response.ok) { const data = (await response.json()) as { error?: string }; setError(data.error ?? 'Anfrage fehlgeschlagen.'); return; } setSubmitted(true); } catch { setError('Netzwerkfehler. Bitte erneut versuchen.'); } finally { setBusy(false); } } return (

Passwort vergessen

{submitted ? (

Falls die E-Mail registriert ist, wurde ein Reset-Link erstellt.

) : (
)}

Zurueck zur Anmeldung

); }