'use client' import React, { useState } from 'react' import { EMPTY_FORM, type ObligationFormData } from '../_types' export default function ObligationModal({ initial, onClose, onSave, }: { initial?: Partial onClose: () => void onSave: (data: ObligationFormData) => Promise }) { const [form, setForm] = useState({ ...EMPTY_FORM, ...initial }) const [saving, setSaving] = useState(false) const [error, setError] = useState(null) const update = (field: keyof ObligationFormData, value: string) => setForm(prev => ({ ...prev, [field]: value })) const handleSave = async () => { if (!form.title.trim()) { setError('Titel ist erforderlich'); return } setSaving(true) setError(null) try { await onSave(form) onClose() } catch (e) { setError(e instanceof Error ? e.message : 'Fehler beim Speichern') } finally { setSaving(false) } } return (
e.target === e.currentTarget && onClose()}>

{initial?.title ? 'Pflicht bearbeiten' : 'Neue Pflicht erstellen'}

{error &&
{error}
}
update('title', e.target.value)} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-purple-500" placeholder="z.B. Datenschutz-Folgenabschaetzung durchfuehren" />