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 && (
-