+ {(() => {
+ const col = COLUMNS.find((c) => c.key === (activeColumn || "draft"))!;
+ const colTasks = tasks.filter((t) => t.status === col.key);
+ const colIndex = COLUMNS.findIndex((c) => c.key === col.key);
+ return (
+
{colTasks.map((task) => (
setDraggedTask(task.id)}
- className="bg-[var(--card)] border border-[var(--border)] rounded-lg p-3 cursor-grab
- hover:border-[var(--accent)] transition-colors active:cursor-grabbing"
+ className="bg-[var(--card)] border border-[var(--border)] rounded-lg p-3"
>
-
{task.title}
+
{task.title}
{task.description && (
-
{task.description}
+
{task.description}
)}
+ {/* Move buttons */}
+
+ {colIndex > 0 && (
+
+ )}
+ {colIndex < COLUMNS.length - 1 && (
+
+ )}
+
))}
- {/* Add task */}
{addingTo === col.key ? (
-
+ setNewTaskTitle(e.target.value)}
+ onKeyDown={(e) => {
+ if (e.key === "Enter") handleAddTask(col.key);
+ if (e.key === "Escape") setAddingTo(null);
+ }}
+ onBlur={() => !newTaskTitle.trim() && setAddingTo(null)}
+ />
+ ) : (
+
+ )}
+
+ );
+ })()}
+