fix: sorting resets

This commit is contained in:
2026-08-02 09:40:41 +02:00
parent 7fc16e78de
commit f36c8ba315
+10 -2
View File
@@ -50,6 +50,14 @@ export function taskFutureReset(task: Task): Date | null {
); );
} }
export function taskSortReset(task: Task): Date | null {
let resetDate = taskNextReset(task);
while (resetDate !== null && resetDate.getTime() < new Date().getTime()) {
resetDate = nextCronReset(resetDate, task.reset_cron, task.id);
}
return resetDate;
}
export function taskCompleted(task: Task): boolean { export function taskCompleted(task: Task): boolean {
if (task.check_date === null) { if (task.check_date === null) {
return false; return false;
@@ -94,8 +102,8 @@ export function taskSortFunction(
case SortType.RESET_DATE: case SortType.RESET_DATE:
return (a: Task, b: Task) => return (a: Task, b: Task) =>
(reverse ? -1 : 1) * (reverse ? -1 : 1) *
((taskNextReset(a) ?? fallbackDate(a)).getTime() - ((taskSortReset(a) ?? fallbackDate(a)).getTime() -
(taskNextReset(b) ?? fallbackDate(b)).getTime()); (taskSortReset(b) ?? fallbackDate(b)).getTime());
case SortType.NAME: case SortType.NAME:
return (a: Task, b: Task) => return (a: Task, b: Task) =>
(reverse ? -1 : 1) * a.name.localeCompare(b.name); (reverse ? -1 : 1) * a.name.localeCompare(b.name);