diff --git a/frontend/src/components/KanbanView.jsx b/frontend/src/components/KanbanView.jsx index e8d7214..9bc9f5f 100644 --- a/frontend/src/components/KanbanView.jsx +++ b/frontend/src/components/KanbanView.jsx @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react' -import { Plus, Edit2, Trash2, Check, X, ChevronDown, ChevronRight } from 'lucide-react' +import { Plus, Edit2, Trash2, Check, X } from 'lucide-react' import { getProjectTasks, createTask, @@ -17,10 +17,11 @@ const STATUSES = [ function TaskCard({ task, allTasks, onUpdate, onDragStart }) { const [isEditing, setIsEditing] = useState(false) const [editTitle, setEditTitle] = useState(task.title) - const [showSubtasks, setShowSubtasks] = useState(false) - const subtasks = allTasks.filter(t => t.parent_task_id === task.id) - const hasSubtasks = subtasks.length > 0 + // Find parent task if this is a subtask + const parentTask = task.parent_task_id + ? allTasks.find(t => t.id === task.parent_task_id) + : null const handleSave = async () => { try { @@ -75,8 +76,15 @@ function TaskCard({ task, allTasks, onUpdate, onDragStart }) { ) : ( <> -
- {task.title} +
+
+
{task.title}
+ {parentTask && ( +
+ ↳ subtask of: {parentTask.title} +
+ )} +
- - {hasSubtasks && ( -
- - {showSubtasks && ( -
- {subtasks.map(subtask => ( -
- • {subtask.title} -
- ))} -
- )} -
- )} )}
@@ -255,9 +242,6 @@ function KanbanView({ projectId }) { return
{error}
} - // Only show root-level tasks in Kanban (tasks without parents) - const rootTasks = allTasks.filter(t => !t.parent_task_id) - return (

Kanban Board

@@ -267,7 +251,7 @@ function KanbanView({ projectId }) { t.status === status.key)} + tasks={allTasks.filter(t => t.status === status.key)} allTasks={allTasks} projectId={projectId} onUpdate={loadTasks} @@ -277,7 +261,7 @@ function KanbanView({ projectId }) { ))}
- {rootTasks.length === 0 && ( + {allTasks.length === 0 && (

No tasks yet

Add tasks using the + button in any column

diff --git a/frontend/src/components/TreeView.jsx b/frontend/src/components/TreeView.jsx index bb53f7b..0c3a9b9 100644 --- a/frontend/src/components/TreeView.jsx +++ b/frontend/src/components/TreeView.jsx @@ -85,9 +85,8 @@ function TaskNode({ task, projectId, onUpdate, level = 0 }) { return (
0 ? 'ml-6' : '' - }`} + style={{ marginLeft: `${level * 1.5}rem` }} + className="flex items-center gap-2 p-3 bg-cyber-darkest border border-cyber-orange/20 rounded hover:border-cyber-orange/40 transition-all group" > {/* Expand/Collapse */} {hasSubtasks && ( @@ -176,7 +175,7 @@ function TaskNode({ task, projectId, onUpdate, level = 0 }) { {/* Add Subtask Form */} {showAddSubtask && ( -
0 ? 'ml-6' : ''}`}> +