'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { trpc } from '@/lib/trpc-client' import { getTrpcErrorMessage } from '@/lib/trpc-error' import Link from 'next/link' const TYPEN = [ { value: 'Pruefung', label: 'Prüfung' }, { value: 'Versammlung', label: 'Versammlung' }, { value: 'Kurs', label: 'Kurs' }, { value: 'Event', label: 'Event' }, { value: 'Sonstiges', label: 'Sonstiges' }, ] export default function TerminNeuPage() { const router = useRouter() const [form, setForm] = useState({ titel: '', datum: '', uhrzeit: '', endeDatum: '', endeUhrzeit: '', ort: '', adresse: '', typ: 'Versammlung', beschreibung: '', maxTeilnehmer: '', }) const createMutation = trpc.termine.create.useMutation({ onSuccess: () => router.push('/dashboard/termine'), }) function handleSubmit(e: React.FormEvent) { e.preventDefault() createMutation.mutate({ titel: form.titel, datum: form.datum, uhrzeit: form.uhrzeit || undefined, endeDatum: form.endeDatum || undefined, endeUhrzeit: form.endeUhrzeit || undefined, ort: form.ort || undefined, adresse: form.adresse || undefined, typ: form.typ as never, beschreibung: form.beschreibung || undefined, maxTeilnehmer: form.maxTeilnehmer ? Number(form.maxTeilnehmer) : undefined, }) } const F = (field: string) => (e: React.ChangeEvent) => setForm({ ...form, [field]: e.target.value }) const inputClass = 'w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-brand-500' return (
← Zurück

Termin anlegen