'use client'; /** Formular zum Erstellen eines Kalenders (nur Admin). */ import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Button, Card, ErrorMessage, Input, Label } from '@/components/ui/ui'; export function CreateCalendarForm() { const router = useRouter(); const [error, setError] = useState(null); const [busy, setBusy] = useState(false); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); setBusy(true); setError(null); const formData = new FormData(event.currentTarget); try { const response = await fetch('/api/calendars', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title: formData.get('title'), description: formData.get('description') || undefined, timezone: formData.get('timezone'), }), }); if (!response.ok) { const data = (await response.json()) as { error?: string }; setError(data.error ?? 'Erstellen fehlgeschlagen.'); return; } router.push('/dashboard'); router.refresh(); } catch { setError('Netzwerkfehler. Bitte erneut versuchen.'); } finally { setBusy(false); } } return (
); }