From a111efd952ad9088f4755a70ea9dea1e48448753 Mon Sep 17 00:00:00 2001 From: Alma Date: Sat, 12 Apr 2025 22:20:25 +0200 Subject: [PATCH] working leantime widget 108 --- components/flow.tsx | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/components/flow.tsx b/components/flow.tsx index 0795b4a9..90e68e2b 100644 --- a/components/flow.tsx +++ b/components/flow.tsx @@ -97,29 +97,40 @@ export function Flow() { // Debug log to see all tasks and their dates data.tasks.forEach((task: Task) => { - console.log(`Task ${task.id} - ${task.headline}:`, { + console.log(`Task ${task.id} - ${task.headline} - Full task:`, task); + console.log(`Task ${task.id} - Date fields:`, { dateToFinish: task.dateToFinish, date: task.date, status: task.status, - editorId: task.editorId + editorId: task.editorId, + raw: task }); }); const getValidDate = (task: Task): Date | undefined => { // First try dateToFinish as it's the primary due date field - if (task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00') { - const date = new Date(task.dateToFinish); - console.log(`Task ${task.id} - Parsing dateToFinish:`, { - raw: task.dateToFinish, - parsed: date, - isValid: !isNaN(date.getTime()) + if (task.dateToFinish) { + console.log(`Task ${task.id} - Checking dateToFinish:`, { + value: task.dateToFinish, + type: typeof task.dateToFinish }); - if (!isNaN(date.getTime())) { - return date; + + if (task.dateToFinish !== '0000-00-00 00:00:00') { + const date = new Date(task.dateToFinish); + console.log(`Task ${task.id} - Parsed dateToFinish:`, { + input: task.dateToFinish, + parsed: date, + isValid: !isNaN(date.getTime()), + timestamp: date.getTime() + }); + + if (!isNaN(date.getTime())) { + return date; + } } } - // Then try date field + // Then try date field as fallback if (task.date && task.date !== '0000-00-00 00:00:00') { const date = new Date(task.date); if (!isNaN(date.getTime())) { @@ -127,6 +138,10 @@ export function Flow() { } } + console.log(`Task ${task.id} - No valid date found`, { + dateToFinish: task.dateToFinish, + date: task.date + }); return undefined; }; @@ -135,10 +150,12 @@ export function Flow() { .filter((task: Task) => task.status !== 5) // Exclude completed tasks .map((task: Task): TaskWithDate => { const validDate = getValidDate(task); - console.log(`Processing task ${task.id}: ${task.headline}`, { + console.log(`Task ${task.id} - Processing result:`, { + headline: task.headline, dateToFinish: task.dateToFinish, validDate: validDate?.toISOString(), - status: task.status + status: task.status, + hasValidDate: !!validDate }); return { ...task, validDate }; });