import { useState } from "react"; import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { TaskForm } from "./TaskForm"; interface TaskDialogProps { open: boolean; onOpenChange: (open: boolean) => void; projectId: string; columns: Array<{ id: string; name: string }>; onDelete: () => Promise; onSubmit: (data: { title: string; description: string; columnId: string; priority: "low" | "medium" | "high"; dueDate?: Date; }) => Promise; initialData?: { title?: string; description?: string; columnId?: string; priority?: "low" | "medium" | "high"; dueDate?: Date; }; isEditing?: boolean; canEdit?: boolean; } export function TaskDialog({ open, onOpenChange, columns, onSubmit, onDelete, initialData, isEditing = false, canEdit = true }: TaskDialogProps) { const handleSubmit = async (data: { title: string; description: string; columnId: string; priority: "low" | "medium" | "high"; dueDate?: Date; }) => { try { await onSubmit(data); onOpenChange(false); } finally { } }; const handleDelete = async () => { try { await onDelete(); onOpenChange(false); } finally { } }; return ( {!canEdit ? "View Task" : isEditing ? "Edit Task" : "Create New Task"} ); }