fix: separate newly created with a fallback date
This commit is contained in:
@@ -35,11 +35,19 @@ export function isTemporary(task: Task): boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function taskNextReset(task: Task): Date | null {
|
export function taskNextReset(task: Task): Date | null {
|
||||||
return nextCronReset(task.check_date ?? new Date(), task.reset_cron, task.id);
|
return nextCronReset(
|
||||||
|
task.check_date ?? new Date(),
|
||||||
|
task.reset_cron,
|
||||||
|
task.id,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function taskFutureReset(task: Task): Date | null {
|
export function taskFutureReset(task: Task): Date | null {
|
||||||
return nextCronReset(taskNextReset(task) ?? new Date(), task.reset_cron, task.id);
|
return nextCronReset(
|
||||||
|
taskNextReset(task) ?? new Date(),
|
||||||
|
task.reset_cron,
|
||||||
|
task.id,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function taskCompleted(task: Task): boolean {
|
export function taskCompleted(task: Task): boolean {
|
||||||
@@ -53,6 +61,18 @@ export function taskCompleted(task: Task): boolean {
|
|||||||
return nextReset.getTime() > new Date().getTime();
|
return nextReset.getTime() > new Date().getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function fallbackDate(task: Task): Date {
|
||||||
|
return new Date(
|
||||||
|
task.created_at.getFullYear() - 100,
|
||||||
|
task.created_at.getMonth(),
|
||||||
|
task.created_at.getDate(),
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export function sortTasks(
|
export function sortTasks(
|
||||||
tasks: Task[],
|
tasks: Task[],
|
||||||
sortType: SortType,
|
sortType: SortType,
|
||||||
@@ -81,8 +101,8 @@ export function sortTasks(
|
|||||||
.sort(
|
.sort(
|
||||||
(a: Task, b: Task) =>
|
(a: Task, b: Task) =>
|
||||||
(reverse ? -1 : 1) *
|
(reverse ? -1 : 1) *
|
||||||
((a.check_date ?? a.created_at).getTime() -
|
((a.check_date ?? fallbackDate(a)).getTime() -
|
||||||
(b.check_date ?? b.created_at).getTime()),
|
(b.check_date ?? fallbackDate(b)).getTime()),
|
||||||
);
|
);
|
||||||
case SortType.RESET_DATE:
|
case SortType.RESET_DATE:
|
||||||
return tasks
|
return tasks
|
||||||
@@ -90,8 +110,8 @@ export function sortTasks(
|
|||||||
.sort(
|
.sort(
|
||||||
(a: Task, b: Task) =>
|
(a: Task, b: Task) =>
|
||||||
(reverse ? -1 : 1) *
|
(reverse ? -1 : 1) *
|
||||||
(taskNextReset(a) ?? a.created_at).getTime() -
|
(taskNextReset(a) ?? fallbackDate(a)).getTime() -
|
||||||
(taskNextReset(b) ?? b.created_at).getTime(),
|
(taskNextReset(b) ?? fallbackDate(b)).getTime(),
|
||||||
);
|
);
|
||||||
case SortType.NAME:
|
case SortType.NAME:
|
||||||
return tasks
|
return tasks
|
||||||
|
|||||||
Reference in New Issue
Block a user