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 {
|
||||
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 {
|
||||
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 {
|
||||
@@ -53,6 +61,18 @@ export function taskCompleted(task: Task): boolean {
|
||||
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(
|
||||
tasks: Task[],
|
||||
sortType: SortType,
|
||||
@@ -81,8 +101,8 @@ export function sortTasks(
|
||||
.sort(
|
||||
(a: Task, b: Task) =>
|
||||
(reverse ? -1 : 1) *
|
||||
((a.check_date ?? a.created_at).getTime() -
|
||||
(b.check_date ?? b.created_at).getTime()),
|
||||
((a.check_date ?? fallbackDate(a)).getTime() -
|
||||
(b.check_date ?? fallbackDate(b)).getTime()),
|
||||
);
|
||||
case SortType.RESET_DATE:
|
||||
return tasks
|
||||
@@ -90,8 +110,8 @@ export function sortTasks(
|
||||
.sort(
|
||||
(a: Task, b: Task) =>
|
||||
(reverse ? -1 : 1) *
|
||||
(taskNextReset(a) ?? a.created_at).getTime() -
|
||||
(taskNextReset(b) ?? b.created_at).getTime(),
|
||||
(taskNextReset(a) ?? fallbackDate(a)).getTime() -
|
||||
(taskNextReset(b) ?? fallbackDate(b)).getTime(),
|
||||
);
|
||||
case SortType.NAME:
|
||||
return tasks
|
||||
|
||||
Reference in New Issue
Block a user