'use client' import { use, useState, useEffect } from 'react' import { useRouter } from 'next/navigation' import { trpc } from '@/lib/trpc-client' import { getTrpcErrorMessage } from '@/lib/trpc-error' import Link from 'next/link' import { format } from 'date-fns' 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 TerminEditPage({ params }: { params: Promise<{ id: string }> }) { const { id } = use(params) const router = useRouter() const { data: termin, isLoading } = trpc.termine.byId.useQuery({ id }) const updateMutation = trpc.termine.update.useMutation({ onSuccess: () => router.push('/dashboard/termine'), }) const deleteMutation = trpc.termine.delete.useMutation({ onSuccess: () => router.push('/dashboard/termine'), }) const [form, setForm] = useState({ titel: '', datum: '', uhrzeit: '', endeDatum: '', endeUhrzeit: '', ort: '', adresse: '', typ: 'Versammlung', beschreibung: '', maxTeilnehmer: '', }) useEffect(() => { if (termin) { setForm({ titel: termin.titel, datum: format(new Date(termin.datum), 'yyyy-MM-dd'), uhrzeit: termin.uhrzeit ?? '', endeDatum: termin.endeDatum ? format(new Date(termin.endeDatum), 'yyyy-MM-dd') : '', endeUhrzeit: termin.endeUhrzeit ?? '', ort: termin.ort ?? '', adresse: termin.adresse ?? '', typ: termin.typ, beschreibung: termin.beschreibung ?? '', maxTeilnehmer: termin.maxTeilnehmer ? String(termin.maxTeilnehmer) : '', }) } }, [termin]) if (isLoading) return