'use client'; import { useState, FormEvent } from 'react'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, DialogClose, } from '@/components/ui/dialog'; import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Textarea } from '@/components/ui/textarea'; import { Button } from '@/components/ui/button'; interface TaskCreateDialogProps { open: boolean; onOpenChange: (open: boolean) => void; onSubmit: (title: string, description: string) => void; initialValues?: { title: string; description?: string; }; submitLabel?: string; } export function TaskCreateDialog({ open, onOpenChange, onSubmit, initialValues, submitLabel = 'Create', }: TaskCreateDialogProps) { const [title, setTitle] = useState(initialValues?.title ?? ''); const [description, setDescription] = useState(initialValues?.description ?? ''); const handleSubmit = (e: FormEvent) => { e.preventDefault(); if (title.trim()) { onSubmit(title.trim(), description.trim()); setTitle(''); setDescription(''); onOpenChange(false); } }; const handleCancel = () => { setTitle(''); setDescription(''); onOpenChange(false); }; return ( {submitLabel === 'Create' ? 'Create Task' : 'Edit Task'}
setTitle(e.target.value)} />