feat: let the reader switch off daily detection

Guessing from a source's wording is right most of the time, and someone
who finds it wrong often enough should be able to stop it rather than
dismiss the same false positive every patch.

Off, only events the reader marked themselves get a checklist. It
silences the guess rather than deleting anything: overrides, ticks and
streaks all survive, so switching it back on restores exactly what was
there. With it off, marking an event stores an explicit yes, since there
is no longer a detection for an override to agree with.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Lucas Winther
2026-08-15 22:26:16 +02:00
co-authored by Claude Opus 5
parent 7f384eb9db
commit 41f0330e02
8 changed files with 64 additions and 11 deletions
+20
View File
@@ -86,6 +86,26 @@ export function Controls({
Show events I've finished
</label>
{/* Detection reads the source's wording and is wrong in both
directions. Off leaves only the events the reader marked, and
discards nothing every mark and logged day survives, so it can
be switched back on. */}
<label className="flex cursor-pointer select-none items-start gap-2 text-xs text-muted">
<input
type="checkbox"
checked={prefs.detectDaily}
onChange={(e) => onUpdate({ detectDaily: e.target.checked })}
className="mt-px size-4 accent-[var(--color-near)]"
/>
<span>
Spot daily events automatically
<span className="mt-0.5 block max-w-xs leading-relaxed text-faint">
Off, only events you mark yourself get a checklist. Your ticks
and streaks are kept either way.
</span>
</span>
</label>
{ignoredCount > 0 && (
<label className="flex cursor-pointer select-none items-center gap-2 text-xs text-muted">
<input