aboutsummaryrefslogtreecommitdiff
path: root/src/lib/shared/routine-metrics.ts
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 10:11:26 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 10:11:26 +0200
commite1d80af9899e078f53d2232d2d7ef4680a14bf1c (patch)
treef42ac5836de6e21d612017e0b300974a345c57ac /src/lib/shared/routine-metrics.ts
parente56aeac93bfd8cc05ddf229b7e51939fde41effd (diff)
Never-done routines are always at least due
A routine with no completions shows due instead of ok, even right after creation; ok requires a completion within the current period.
Diffstat (limited to 'src/lib/shared/routine-metrics.ts')
-rw-r--r--src/lib/shared/routine-metrics.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/shared/routine-metrics.ts b/src/lib/shared/routine-metrics.ts
index 59413c2..4af989d 100644
--- a/src/lib/shared/routine-metrics.ts
+++ b/src/lib/shared/routine-metrics.ts
@@ -64,8 +64,10 @@ export function computeRoutineState(
// Buckets on overdue time in units of the routine's own frequency:
// not due / due now / late (half a period overdue) / very late (a full
// period overdue — a weekly routine two weeks old lands here).
+ // A routine that was never done is always at least due: there is
+ // something to do, even right after creation.
const status: RoutineStatus =
- rawRatio < 0
+ rawRatio < 0 && lastDoneMs !== null
? 'ok'
: overdueRatio < 0.5
? 'due'