working leantime widget 26
This commit is contained in:
parent
96ba26a15d
commit
f58b02628d
@ -9,7 +9,7 @@ interface Task {
|
||||
projectId: number;
|
||||
status: string;
|
||||
dueDate: string | null;
|
||||
priority: number;
|
||||
milestone: string | null;
|
||||
details: string | null;
|
||||
}
|
||||
|
||||
@ -125,37 +125,24 @@ export async function GET() {
|
||||
projectsData.result.map((project: any) => [project.id, project.name])
|
||||
);
|
||||
|
||||
// Transform and categorize the tasks
|
||||
// Transform and sort the tasks
|
||||
const tasks = data.result.map((task: any) => {
|
||||
const dueDate = task.dateToFinish ? new Date(task.dateToFinish * 1000) : null;
|
||||
const now = new Date();
|
||||
const dueDate = task.dateToFinish ? new Date(task.dateToFinish * 1000).toISOString() : null;
|
||||
|
||||
let status = 'upcoming';
|
||||
if (dueDate && dueDate < now) {
|
||||
status = 'overdue';
|
||||
} else if (task.status === 'done' || task.status === 'closed') {
|
||||
status = 'completed';
|
||||
} else if (task.status === 'inprogress') {
|
||||
status = 'in_progress';
|
||||
}
|
||||
|
||||
return {
|
||||
id: task.id,
|
||||
headline: task.headline,
|
||||
projectName: projectsMap.get(task.projectId) || `Project ${task.projectId}`,
|
||||
projectId: task.projectId,
|
||||
status: status,
|
||||
dueDate: dueDate ? dueDate.toISOString() : null,
|
||||
priority: task.priority,
|
||||
details: task.description ? task.description.substring(0, 100) : null
|
||||
status: task.status,
|
||||
dueDate: dueDate,
|
||||
milestone: task.milestoneid || null,
|
||||
details: task.description || null
|
||||
};
|
||||
});
|
||||
|
||||
// Sort tasks by due date and status
|
||||
// Sort tasks by due date (overdue first)
|
||||
tasks.sort((a: Task, b: Task) => {
|
||||
if (a.status === 'overdue' && b.status !== 'overdue') return -1;
|
||||
if (a.status !== 'overdue' && b.status === 'overdue') return 1;
|
||||
if (!a.dueDate && !b.dueDate) return 0;
|
||||
if (!a.dueDate) return 1;
|
||||
if (!b.dueDate) return -1;
|
||||
return new Date(a.dueDate).getTime() - new Date(b.dueDate).getTime();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user