import React, { useState } from 'react'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Task } from "@/shared/types"; import TaskNumberField from './components/TaskNumberField'; import TaskDescriptionField from './components/TaskDescriptionField'; import TaskRequirementsField from './components/TaskRequirementsField'; import TaskSolutionTypeSelector from './components/TaskSolutionTypeSelector'; import TaskFileAttachments from './components/TaskFileAttachments'; interface TaskCreationModalProps { isOpen: boolean; onClose: () => void; onCreateTask: (task: Partial) => void; taskCount: number; } const TaskCreationModal: React.FC = ({ isOpen, onClose, onCreateTask, taskCount }) => { const [number, setNumber] = useState(`${taskCount + 1}`); const [description, setDescription] = useState(''); const [requirements, setRequirements] = useState(''); const [solutionType, setSolutionType] = useState<'input' | 'file' | 'code'>('input'); const [attachedFiles, setAttachedFiles] = useState([]); const handleSubmit = () => { const newTask: Partial = { number, description, requirements: requirements || undefined, solutionType, attachments: attachedFiles.map(file => file.name) }; onCreateTask(newTask); setNumber(`${taskCount + 1}`); setDescription(''); setRequirements(''); setSolutionType('input'); setAttachedFiles([]); }; return ( Создание новой задачи
); }; export default TaskCreationModal;