From f8e67958fd132000cf5a10406933c6c88c60cef9 Mon Sep 17 00:00:00 2001 From: Alma Date: Sat, 12 Apr 2025 20:16:38 +0200 Subject: [PATCH] working leantime widget 79 --- components/flow.tsx | 50 +++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/components/flow.tsx b/components/flow.tsx index 5a856e3b..a956cb1b 100644 --- a/components/flow.tsx +++ b/components/flow.tsx @@ -9,18 +9,15 @@ import { Badge } from "@/components/ui/badge"; interface Task { id: number; headline: string; - description: string; - dateToFinish: string; - date: string; - projectId: number; - projectName: string; + description?: string; + dateToFinish?: string; + date?: string; + projectId?: number; + projectName?: string; status: number; editorId?: string; - editorFirstname?: string; - editorLastname?: string; - authorFirstname: string; - authorLastname: string; - milestoneHeadline?: string; + userId?: number; + assignedTo?: any; } interface ProjectSummary { @@ -88,16 +85,19 @@ export function Flow() { return; } - // Sort tasks by due date (oldest first) - const sortedTasks = data + // Filter tasks with status 3 (In Progress) and sort by date + const filteredAndSortedTasks = data + .filter((task: Task) => task.status === 3) .sort((a: Task, b: Task) => { - const dateA = a.dateToFinish ? new Date(a.dateToFinish).getTime() : new Date(a.date).getTime(); - const dateB = b.dateToFinish ? new Date(b.dateToFinish).getTime() : new Date(b.date).getTime(); + const dateA = a.dateToFinish ? new Date(a.dateToFinish).getTime() : + a.date ? new Date(a.date).getTime() : Date.now(); + const dateB = b.dateToFinish ? new Date(b.dateToFinish).getTime() : + b.date ? new Date(b.date).getTime() : Date.now(); return dateA - dateB; }) .slice(0, 4); // Limit to 4 tasks - setTasks(sortedTasks); + setTasks(filteredAndSortedTasks); } catch (error) { console.error('Error fetching tasks:', error); setError('Failed to fetch tasks'); @@ -148,15 +148,17 @@ export function Flow() { > {task.headline} -
- - {task.projectName} - {task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00' && ( - - Due: {new Date(task.dateToFinish).toLocaleDateString()} - - )} -
+ {task.projectName && ( +
+ + {task.projectName} + {task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00' && ( + + Due: {new Date(task.dateToFinish).toLocaleDateString()} + + )} +
+ )} ))}