From f36c8ba31582c252ffefc8cf7492ece26fa359f4 Mon Sep 17 00:00:00 2001 From: klemek Date: Sun, 2 Aug 2026 09:40:41 +0200 Subject: [PATCH] fix: sorting resets --- resources/ts/lib/tasks.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/resources/ts/lib/tasks.ts b/resources/ts/lib/tasks.ts index 33e27b4..11b590c 100644 --- a/resources/ts/lib/tasks.ts +++ b/resources/ts/lib/tasks.ts @@ -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 { if (task.check_date === null) { return false; @@ -94,8 +102,8 @@ export function taskSortFunction( case SortType.RESET_DATE: return (a: Task, b: Task) => (reverse ? -1 : 1) * - ((taskNextReset(a) ?? fallbackDate(a)).getTime() - - (taskNextReset(b) ?? fallbackDate(b)).getTime()); + ((taskSortReset(a) ?? fallbackDate(a)).getTime() - + (taskSortReset(b) ?? fallbackDate(b)).getTime()); case SortType.NAME: return (a: Task, b: Task) => (reverse ? -1 : 1) * a.name.localeCompare(b.name);