import React, { useState } from "react"; // Empfangsseite des Passwort-Reset-Links. App.jsx zeigt diese Komponente, // sobald Supabase den `PASSWORD_RECOVERY`-Event sendet. Der Reset-Token ist // dann bereits im Auth-Client geparsed; wir setzen nur noch das neue Passwort. export default function ResetPassword({ onComplete, onCancel }) { const [pw1, setPw1] = useState(""); const [pw2, setPw2] = useState(""); const [err, setErr] = useState(""); const [busy, setBusy] = useState(false); const [done, setDone] = useState(false); const submit = async () => { if (pw1.length < 6) { setErr("Mindestens 6 Zeichen."); return; } if (pw1 !== pw2) { setErr("Passwörter stimmen nicht überein."); return; } setBusy(true); setErr(""); try { const res = await onComplete(pw1); if (res?.ok) setDone(true); else setErr(res?.error || "Konnte nicht gespeichert werden."); } finally { setBusy(false); } }; return (
RAPPORT
NEUES PASSWORT
{done ? ( <>
Passwort aktualisiert. Sie können sich jetzt mit dem neuen Passwort anmelden.
) : ( <>

Bitte vergeben Sie ein neues Passwort.

{ setPw1(e.target.value); setErr(""); }} style={{ width: "100%", boxSizing: "border-box", background: "#f7f4f0", border: "1.5px solid #ddd8d0", borderRadius: 10, padding: "11px 14px", fontFamily: "inherit", fontSize: 13, outline: "none" }} placeholder="Mindestens 6 Zeichen" />
{ setPw2(e.target.value); setErr(""); }} onKeyDown={e => e.key === "Enter" && submit()} style={{ width: "100%", boxSizing: "border-box", background: "#f7f4f0", border: "1.5px solid #ddd8d0", borderRadius: 10, padding: "11px 14px", fontFamily: "inherit", fontSize: 13, outline: "none" }} placeholder="Nochmals eingeben" />
{err &&
{err}
} )}
); }