diff --git a/apps/web/src/app/(authenticated)/kanban/page.tsx b/apps/web/src/app/(authenticated)/kanban/page.tsx index a55979b..839cc0e 100644 --- a/apps/web/src/app/(authenticated)/kanban/page.tsx +++ b/apps/web/src/app/(authenticated)/kanban/page.tsx @@ -184,10 +184,11 @@ function TaskCard({ task, provided, snapshot, columnAccent }: TaskCardProps): Re interface KanbanColumnProps { config: ColumnConfig; tasks: Task[]; - onAddTask: (status: TaskStatus, title: string) => Promise; + onAddTask: (status: TaskStatus, title: string, projectId?: string) => Promise; + projectId?: string; } -function KanbanColumn({ config, tasks, onAddTask }: KanbanColumnProps): ReactElement { +function KanbanColumn({ config, tasks, onAddTask, projectId }: KanbanColumnProps): ReactElement { const [showAddForm, setShowAddForm] = useState(false); const [inputValue, setInputValue] = useState(""); const [isSubmitting, setIsSubmitting] = useState(false); @@ -208,7 +209,7 @@ function KanbanColumn({ config, tasks, onAddTask }: KanbanColumnProps): ReactEle setIsSubmitting(true); try { - await onAddTask(config.status, inputValue.trim()); + await onAddTask(config.status, inputValue.trim(), projectId); setInputValue(""); setShowAddForm(false); } catch (err) { @@ -362,6 +363,45 @@ function KanbanColumn({ config, tasks, onAddTask }: KanbanColumnProps): ReactEle }} autoFocus /> +
+ + +
Press{" "} { + async (status: TaskStatus, title: string, projectId?: string) => { try { const wsId = workspaceId ?? undefined; - const newTask = await createTask({ title, status }, wsId); + const taskData: { title: string; status: TaskStatus; projectId?: string } = { + title, + status, + }; + if (projectId) { + taskData.projectId = projectId; + } + const newTask = await createTask(taskData, wsId); // Optimistically add to local state setTasks((prev) => [...prev, newTask]); } catch (err: unknown) { @@ -866,23 +913,8 @@ export default function KanbanPage(): ReactElement { Clear filters
- ) : tasks.length === 0 ? ( - /* Empty state */ -
-

- No tasks yet. Create some tasks to see them here. -

-
) : ( - /* Board */ + /* Board (always render columns to allow adding first task) */
))}