diff --git a/src/app/page.tsx b/src/app/page.tsx index 4d68399..b314125 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -91,12 +91,20 @@ export default function Home() { const [newComment, setNewComment] = useState("") const [editingTask, setEditingTask] = useState(null) const [viewMode, setViewMode] = useState<'kanban' | 'backlog'>('kanban') + const [editedTask, setEditedTask] = useState(null) // Sync from server on mount useEffect(() => { syncFromServer() }, [syncFromServer]) + // Set editedTask when selectedTask changes + useEffect(() => { + if (selectedTask) { + setEditedTask({ ...selectedTask }) + } + }, [selectedTask]) + const selectedProject = projects.find((p) => p.id === selectedProjectId) const selectedTask = tasks.find((t) => t.id === selectedTaskId) const projectTasks = selectedProjectId ? getTasksByProject(selectedProjectId) : [] @@ -528,47 +536,41 @@ export default function Home() { {/* Task Detail Dialog with Comments */} - selectTask(null)}> + { + selectTask(null) + setEditedTask(null) + }}> - {selectedTask && ( + {selectedTask && editedTask && ( <>
- - {typeLabels[selectedTask.type]} + + {typeLabels[editedTask.type]} - - {selectedTask.priority} + + {editedTask.priority}
- {selectedTask.title} + setEditedTask({ ...editedTask, title: e.target.value })} + className="w-full text-xl font-semibold bg-slate-800 border border-slate-700 rounded px-3 py-2 text-white" + />
{/* Description */} - {selectedTask.description && ( -
- -

- {selectedTask.description} -

-
- )} - - {/* Tags */} - {selectedTask.tags.length > 0 && ( -
- -
- {selectedTask.tags.map((tag) => ( - - - {tag} - - ))} -
-
- )} +
+ +