diff --git a/components/flow.tsx b/components/flow.tsx index 5c402f19..5570923b 100644 --- a/components/flow.tsx +++ b/components/flow.tsx @@ -9,11 +9,9 @@ interface Task { id: string; headline: string; projectName: string; - projectId: number; status: string; dueDate: string | null; milestone: string | null; - details: string | null; } export function Flow() { @@ -44,27 +42,7 @@ export function Flow() { const data = await response.json(); if (data.tasks && Array.isArray(data.tasks)) { - // Sort tasks by due date (overdue first) - const sortedTasks = data.tasks.sort((a: Task, b: Task) => { - // If a task has no due date, put it at the end - if (!a.dueDate) return 1; - if (!b.dueDate) return -1; - - const dateA = new Date(a.dueDate); - const dateB = new Date(b.dueDate); - const now = new Date(); - - // If one task is overdue and the other isn't, put overdue first - const aOverdue = dateA < now; - const bOverdue = dateB < now; - if (aOverdue && !bOverdue) return -1; - if (!aOverdue && bOverdue) return 1; - - // Otherwise sort by due date - return dateA.getTime() - dateB.getTime(); - }); - - setTasks(sortedTasks); + setTasks(data.tasks); } else { setTasks([]); } @@ -93,10 +71,8 @@ export function Flow() { return 'bg-blue-100 text-blue-800'; case 'in_progress': return 'bg-yellow-100 text-yellow-800'; - case 'completed': + case 'done': return 'bg-green-100 text-green-800'; - case 'overdue': - return 'bg-red-100 text-red-800'; default: return 'bg-gray-100 text-gray-800'; } @@ -112,15 +88,6 @@ export function Flow() { }); }; - // Group tasks by project, maintaining the sorted order - const tasksByProject = tasks.reduce((acc, task) => { - if (!acc[task.projectName]) { - acc[task.projectName] = []; - } - acc[task.projectName].push(task); - return acc; - }, {} as Record); - return ( @@ -145,34 +112,32 @@ export function Flow() { ) : tasks.length === 0 ? (
No tasks found
) : ( -
- {Object.entries(tasksByProject).map(([projectName, projectTasks]) => ( -
-

{projectName}

-
- {projectTasks.map((task) => { - const dueDate = task.dueDate ? new Date(task.dueDate) : null; - const isOverdue = dueDate && dueDate < new Date(); - - return ( -
-
-
{task.headline}
- {task.milestone && ( -
- {task.milestone} -
- )} -
- {formatDate(task.dueDate)} -
-
-
- {isOverdue ? 'OVERDUE' : task.status.toUpperCase()} -
+
+ {tasks.map((task) => ( +
+
+
+
{task.projectName}
+
+ {task.headline} +
+
+
+ 🗓️ + {formatDate(task.dueDate)}
- ); - })} + {task.milestone && ( +
+ + {task.milestone} + +
+ )} +
+
+
+ {task.status.toUpperCase()} +
))}