working leantime widget 79
This commit is contained in:
parent
ff3695f31d
commit
f8e67958fd
@ -9,18 +9,15 @@ import { Badge } from "@/components/ui/badge";
|
|||||||
interface Task {
|
interface Task {
|
||||||
id: number;
|
id: number;
|
||||||
headline: string;
|
headline: string;
|
||||||
description: string;
|
description?: string;
|
||||||
dateToFinish: string;
|
dateToFinish?: string;
|
||||||
date: string;
|
date?: string;
|
||||||
projectId: number;
|
projectId?: number;
|
||||||
projectName: string;
|
projectName?: string;
|
||||||
status: number;
|
status: number;
|
||||||
editorId?: string;
|
editorId?: string;
|
||||||
editorFirstname?: string;
|
userId?: number;
|
||||||
editorLastname?: string;
|
assignedTo?: any;
|
||||||
authorFirstname: string;
|
|
||||||
authorLastname: string;
|
|
||||||
milestoneHeadline?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ProjectSummary {
|
interface ProjectSummary {
|
||||||
@ -88,16 +85,19 @@ export function Flow() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort tasks by due date (oldest first)
|
// Filter tasks with status 3 (In Progress) and sort by date
|
||||||
const sortedTasks = data
|
const filteredAndSortedTasks = data
|
||||||
|
.filter((task: Task) => task.status === 3)
|
||||||
.sort((a: Task, b: Task) => {
|
.sort((a: Task, b: Task) => {
|
||||||
const dateA = a.dateToFinish ? new Date(a.dateToFinish).getTime() : new Date(a.date).getTime();
|
const dateA = a.dateToFinish ? new Date(a.dateToFinish).getTime() :
|
||||||
const dateB = b.dateToFinish ? new Date(b.dateToFinish).getTime() : new Date(b.date).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;
|
return dateA - dateB;
|
||||||
})
|
})
|
||||||
.slice(0, 4); // Limit to 4 tasks
|
.slice(0, 4); // Limit to 4 tasks
|
||||||
|
|
||||||
setTasks(sortedTasks);
|
setTasks(filteredAndSortedTasks);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error fetching tasks:', error);
|
console.error('Error fetching tasks:', error);
|
||||||
setError('Failed to fetch tasks');
|
setError('Failed to fetch tasks');
|
||||||
@ -148,6 +148,7 @@ export function Flow() {
|
|||||||
>
|
>
|
||||||
{task.headline}
|
{task.headline}
|
||||||
</a>
|
</a>
|
||||||
|
{task.projectName && (
|
||||||
<div className="flex items-center text-gray-500 text-xs">
|
<div className="flex items-center text-gray-500 text-xs">
|
||||||
<Folder className="h-3 w-3 mr-1 opacity-70" />
|
<Folder className="h-3 w-3 mr-1 opacity-70" />
|
||||||
<span>{task.projectName}</span>
|
<span>{task.projectName}</span>
|
||||||
@ -157,6 +158,7 @@ export function Flow() {
|
|||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user