working leantime widget 80
This commit is contained in:
parent
f8e67958fd
commit
fa733f952c
@ -9,15 +9,13 @@ import { Badge } from "@/components/ui/badge";
|
|||||||
interface Task {
|
interface Task {
|
||||||
id: number;
|
id: number;
|
||||||
headline: string;
|
headline: string;
|
||||||
description?: string;
|
userId: number;
|
||||||
|
status: number;
|
||||||
|
editorId: string;
|
||||||
|
assignedTo?: any;
|
||||||
|
projectName?: string;
|
||||||
dateToFinish?: string;
|
dateToFinish?: string;
|
||||||
date?: string;
|
date?: string;
|
||||||
projectId?: number;
|
|
||||||
projectName?: string;
|
|
||||||
status: number;
|
|
||||||
editorId?: string;
|
|
||||||
userId?: number;
|
|
||||||
assignedTo?: any;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ProjectSummary {
|
interface ProjectSummary {
|
||||||
@ -85,9 +83,8 @@ export function Flow() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter tasks with status 3 (In Progress) and sort by date
|
// Sort tasks by date and limit to 4
|
||||||
const filteredAndSortedTasks = data
|
const sortedTasks = 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() :
|
const dateA = a.dateToFinish ? new Date(a.dateToFinish).getTime() :
|
||||||
a.date ? new Date(a.date).getTime() : Date.now();
|
a.date ? new Date(a.date).getTime() : Date.now();
|
||||||
@ -97,7 +94,7 @@ export function Flow() {
|
|||||||
})
|
})
|
||||||
.slice(0, 4); // Limit to 4 tasks
|
.slice(0, 4); // Limit to 4 tasks
|
||||||
|
|
||||||
setTasks(filteredAndSortedTasks);
|
setTasks(sortedTasks);
|
||||||
} 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,17 +145,19 @@ 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">
|
{task.projectName && (
|
||||||
<Folder className="h-3 w-3 mr-1 opacity-70" />
|
<>
|
||||||
<span>{task.projectName}</span>
|
<Folder className="h-3 w-3 mr-1 opacity-70" />
|
||||||
{task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00' && (
|
<span>{task.projectName}</span>
|
||||||
<span className="ml-2">
|
</>
|
||||||
Due: {new Date(task.dateToFinish).toLocaleDateString()}
|
)}
|
||||||
</span>
|
{task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00' && (
|
||||||
)}
|
<span className={task.projectName ? "ml-2" : ""}>
|
||||||
</div>
|
Due: {new Date(task.dateToFinish).toLocaleDateString()}
|
||||||
)}
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user