import { type FormEvent, type ReactNode, useState, useEffect } from 'react' interface FormModalProps { title: string onClose: () => void onSubmit: (e: FormEvent) => void children: ReactNode submitLabel?: string isSubmitting?: boolean onDelete?: () => void isDeleting?: boolean headerExtra?: ReactNode } export function FormModal({ title, onClose, onSubmit, children, submitLabel = 'Save', isSubmitting, onDelete, isDeleting, headerExtra, }: FormModalProps) { const [confirmingDelete, setConfirmingDelete] = useState(false) // Reset confirm state when modal closes/reopens useEffect(() => { setConfirmingDelete(false) }, [onDelete]) return (