working leantime widget 93
This commit is contained in:
parent
47d3824807
commit
01a6c51124
@ -21,6 +21,8 @@ interface Task {
|
||||
authorFirstname: string;
|
||||
authorLastname: string;
|
||||
milestoneHeadline?: string;
|
||||
editTo?: string;
|
||||
editFrom?: string;
|
||||
}
|
||||
|
||||
interface ProjectSummary {
|
||||
@ -89,24 +91,29 @@ export function Flow() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Sort tasks by date, using either dateToFinish or date field
|
||||
// Sort tasks by any available date field
|
||||
const sortedTasks = data.tasks
|
||||
.filter((task: Task) => {
|
||||
const hasValidDate = (dateStr: string) =>
|
||||
dateStr && dateStr !== '0000-00-00 00:00:00';
|
||||
return hasValidDate(task.dateToFinish) || hasValidDate(task.date);
|
||||
})
|
||||
.sort((a: Task, b: Task) => {
|
||||
const getDate = (task: Task) => {
|
||||
return task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00'
|
||||
? new Date(task.dateToFinish)
|
||||
: new Date(task.date);
|
||||
if (task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00') {
|
||||
return new Date(task.dateToFinish);
|
||||
}
|
||||
if (task.editTo && task.editTo !== '0000-00-00 00:00:00') {
|
||||
return new Date(task.editTo);
|
||||
}
|
||||
if (task.editFrom && task.editFrom !== '0000-00-00 00:00:00') {
|
||||
return new Date(task.editFrom);
|
||||
}
|
||||
if (task.date && task.date !== '0000-00-00 00:00:00') {
|
||||
return new Date(task.date);
|
||||
}
|
||||
return new Date(0); // Default to oldest date if no valid date found
|
||||
};
|
||||
return getDate(a).getTime() - getDate(b).getTime();
|
||||
})
|
||||
.slice(0, 6);
|
||||
|
||||
console.log('Sorted and filtered tasks:', sortedTasks);
|
||||
console.log('Sorted tasks:', sortedTasks);
|
||||
setTasks(sortedTasks);
|
||||
} catch (error) {
|
||||
console.error('Error fetching tasks:', error);
|
||||
@ -152,10 +159,28 @@ export function Flow() {
|
||||
<div className="flex gap-3">
|
||||
<div className="flex-shrink-0 w-14 h-14 rounded-lg bg-blue-50 flex flex-col items-center justify-center border border-blue-100">
|
||||
<span className="text-xs text-blue-600 font-medium uppercase">
|
||||
{new Date(task.dateToFinish).toLocaleDateString('fr-FR', { month: 'short' })}
|
||||
{(() => {
|
||||
const date = task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00'
|
||||
? new Date(task.dateToFinish)
|
||||
: task.editTo && task.editTo !== '0000-00-00 00:00:00'
|
||||
? new Date(task.editTo)
|
||||
: task.editFrom && task.editFrom !== '0000-00-00 00:00:00'
|
||||
? new Date(task.editFrom)
|
||||
: new Date(task.date);
|
||||
return date.toLocaleDateString('fr-FR', { month: 'short' });
|
||||
})()}
|
||||
</span>
|
||||
<span className="text-lg text-blue-700 font-bold">
|
||||
{new Date(task.dateToFinish).getDate()}
|
||||
{(() => {
|
||||
const date = task.dateToFinish && task.dateToFinish !== '0000-00-00 00:00:00'
|
||||
? new Date(task.dateToFinish)
|
||||
: task.editTo && task.editTo !== '0000-00-00 00:00:00'
|
||||
? new Date(task.editTo)
|
||||
: task.editFrom && task.editFrom !== '0000-00-00 00:00:00'
|
||||
? new Date(task.editFrom)
|
||||
: new Date(task.date);
|
||||
return date.getDate();
|
||||
})()}
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex-1 min-w-0 space-y-1.5">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user