working leantime widget 79

This commit is contained in:
Alma 2025-04-12 20:16:38 +02:00
parent ff3695f31d
commit f8e67958fd

View File

@ -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,6 +148,7 @@ export function Flow() {
>
{task.headline}
</a>
{task.projectName && (
<div className="flex items-center text-gray-500 text-xs">
<Folder className="h-3 w-3 mr-1 opacity-70" />
<span>{task.projectName}</span>
@ -157,6 +158,7 @@ export function Flow() {
</span>
)}
</div>
)}
</div>
</div>
))}