File size: 1,000 Bytes
d97b8f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import React from 'react';
import CustomDialog from '@/components/CustomDialog';
import { Task, TaskCreateRequest } from "@/services/tasksApi";
import { TaskForm } from "./TaskForm";

interface TaskDialogProps {
  task?: Task;
  open: boolean;
  onOpenChange: (open: boolean) => void;
  onSubmit: (data: TaskCreateRequest) => Promise<void>;
  isLoading?: boolean;
}

export function TaskDialog({

  task,

  open,

  onOpenChange,

  onSubmit,

  isLoading,

}: TaskDialogProps) {
  // Handle dialog closing
  const handleClose = () => {
    console.log('Closing task dialog');
    onOpenChange(false);
  };

  return (
    <CustomDialog

      isOpen={open}

      onClose={handleClose}

      title={task ? "Edit Task" : "Create New Task"}

      allowClose={!isLoading}

      isPending={isLoading}

    >

      <TaskForm

        task={task}

        onSubmit={onSubmit}

        onCancel={handleClose}

        isLoading={isLoading}

      />

    </CustomDialog>
  );
}