"use client"; import Link from "next/link"; import { useEffect, useState } from "react"; export default function RegisterPage() { const [error, setError] = useState(null); const [showVerifyLink, setShowVerifyLink] = useState(false); const [registrationEnabled, setRegistrationEnabled] = useState( null ); useEffect(() => { const loadRegistration = async () => { try { const response = await fetch("/api/settings/registration"); if (!response.ok) return; const payload = await response.json(); setRegistrationEnabled(payload.registrationEnabled !== false); } catch { setRegistrationEnabled(true); } }; loadRegistration(); }, []); const onSubmit = async (event: React.FormEvent) => { event.preventDefault(); setError(null); setShowVerifyLink(false); const formData = new FormData(event.currentTarget); const payload = { name: formData.get("name"), email: formData.get("email"), password: formData.get("password") }; const response = await fetch("/api/register", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }); if (!response.ok) { const data = await response.json(); setError(data.error || "Registrierung fehlgeschlagen."); return; } const emailValue = String(payload.email || "").trim().toLowerCase(); const nextUrl = emailValue ? `/login?registered=1&email=${encodeURIComponent(emailValue)}` : "/login?registered=1"; window.location.href = nextUrl; }; return (

Registrieren

{registrationEnabled === false ? (
Registrierung ist derzeit deaktiviert.
) : registrationEnabled === null ? (

Registrierung wird geladen...

) : ( <>
{error &&

{error}

} )}

Schon registriert? Login

{showVerifyLink && (

E-Mail nicht bestÃĪtigt?{" "} Link erneut senden

)}
); }