'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { trpc } from '@/lib/trpc-client' import Link from 'next/link' import { SPARTEN } from '@innungsapp/shared' export default function MitgliedNeuPage() { const router = useRouter() const [form, setForm] = useState({ name: '', betrieb: '', sparte: '', ort: '', telefon: '', email: '', status: 'aktiv' as const, istAusbildungsbetrieb: false, seit: new Date().getFullYear(), role: 'member' as 'member' | 'admin', password: '', }) const createMutation = trpc.members.create.useMutation({ onSuccess: () => router.push('/dashboard/mitglieder'), }) const isPending = createMutation.isPending const error = createMutation.error function handleSubmit(e: React.FormEvent) { e.preventDefault() createMutation.mutate(form) } return (
← Zurück

Mitglied anlegen

setForm({ ...form, name: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, betrieb: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, ort: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, email: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, telefon: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, seit: Number(e.target.value) })} min="1900" max="2100" className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
setForm({ ...form, password: e.target.value })} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500" />
{error && (

{error.message}

)}
Abbrechen
) }