diff --git a/components/flow.tsx b/components/flow.tsx index 3ea2034c..5b7f3688 100644 --- a/components/flow.tsx +++ b/components/flow.tsx @@ -89,15 +89,22 @@ export function Flow() { return; } - // Filter tasks with valid due dates and sort them + // Sort tasks by date, using either dateToFinish or date field const sortedTasks = data.tasks - .filter((task: Task) => task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00') - .sort((a: Task, b: Task) => { - const dateA = new Date(a.dateToFinish).getTime(); - const dateB = new Date(b.dateToFinish).getTime(); - return dateA - dateB; + .filter((task: Task) => { + const hasValidDate = (dateStr: string) => + dateStr && dateStr !== '0000-00-00 00:00:00'; + return hasValidDate(task.dateToFinish) || hasValidDate(task.date); }) - .slice(0, 6); // Limit to 6 tasks + .sort((a: Task, b: Task) => { + const getDate = (task: Task) => { + return task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00' + ? new Date(task.dateToFinish) + : new Date(task.date); + }; + return getDate(a).getTime() - getDate(b).getTime(); + }) + .slice(0, 6); console.log('Sorted and filtered tasks:', sortedTasks); setTasks(sortedTasks);