"use client"; import { useState, type FormEvent } from "react"; import { TextField, TextAreaField } from "@/components/FormField"; export function GroupRegistrationForm({ offerSlug }: { offerSlug: string }) { const [state, setState] = useState<{ sent: boolean; error?: string }>({ sent: false }); const [busy, setBusy] = useState(false); async function submit(event: FormEvent) { event.preventDefault(); setBusy(true); setState({ sent: false }); const data = new FormData(event.currentTarget); try { const response = await fetch("/api/group-registration", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ offerSlug, name: data.get("name"), email: data.get("email"), phone: data.get("phone"), message: data.get("message"), }), }); const result = await response.json().catch(() => ({})); if (!response.ok) setState({ sent: false, error: result.error || "Die Anmeldung konnte nicht gesendet werden." }); else { setState({ sent: true }); event.currentTarget.reset(); } } catch { setState({ sent: false, error: "Verbindung fehlgeschlagen. Bitte versuche es erneut." }); } finally { setBusy(false); } } if (state.sent) return

Danke, deine Anmeldung ist angekommen. Anna meldet sich, sobald sie die Plätze geprüft hat.

; return (
{state.error &&

{state.error}

} ); }