'use client' import { useState } from 'react' import { use } from 'react' export default function RegistrierungPage({ params }: { params: Promise<{ slug: string }> }) { const { slug } = use(params) const [name, setName] = useState('') const [email, setEmail] = useState('') const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle') const [errorMsg, setErrorMsg] = useState('') async function handleSubmit(e: React.FormEvent) { e.preventDefault() setStatus('loading') try { const res = await fetch(`/api/registrierung/${slug}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name, email }), }) if (!res.ok) { const data = await res.json().catch(() => ({})) setErrorMsg(data.error ?? 'Ein Fehler ist aufgetreten.') setStatus('error') return } setStatus('success') } catch { setErrorMsg('Netzwerkfehler. Bitte versuchen Sie es erneut.') setStatus('error') } } if (status === 'success') { return (
✉️

E-Mail wird gesendet

Bitte prüfen Sie Ihr Postfach. Sie erhalten in Kürze einen Aktivierungslink.

) } return (

Mitglied werden

Registrieren Sie sich für die InnungsApp Ihres Verbandes.

setName(e.target.value)} placeholder="Max Mustermann" className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500" />
setEmail(e.target.value)} placeholder="max@musterfirma.de" className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500" />
{status === 'error' && (

{errorMsg}

)}
) }