import React from 'react'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { createEvent, updateEvent } from '../api'; import { isAuthError } from '../auth/tokens'; import { useNavigate, useSearchParams } from 'react-router-dom'; export default function EventFormPage() { const [sp] = useSearchParams(); const id = sp.get('id'); const nav = useNavigate(); const [name, setName] = React.useState(''); const [slug, setSlug] = React.useState(''); const [date, setDate] = React.useState(''); const [active, setActive] = React.useState(true); const [saving, setSaving] = React.useState(false); const [error, setError] = React.useState(null); const isEdit = !!id; async function save() { setSaving(true); setError(null); try { if (isEdit) { await updateEvent(Number(id), { name, slug, date, is_active: active }); } else { await createEvent({ name, slug, date, is_active: active }); } nav('/admin/events'); } catch (e) { if (!isAuthError(e)) { setError('Speichern fehlgeschlagen'); } } finally { setSaving(false); } } return (

{isEdit ? 'Event bearbeiten' : 'Neues Event'}

{error &&
{error}
} setName(e.target.value)} /> setSlug(e.target.value)} /> setDate(e.target.value)} />
); }