feat(dailies): track or stop tracking anything in the strip from Edit

The strip's Edit panel lists each game's chore, then its built-ins, then its
events, each with Stop tracking, and Track · N offers everything a game could
track and does not. Your own lists every built-in of the games that are on,
untracked ones included and marked, so none is off with no way back.

Renames Remove from dailies / Add an event to Stop tracking / Track.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-10-16 03:00:18 +02:00
1 parent 612e0a23e4
commit 3fd2b3c2ed
5 files changed
+193 -30

No files matched your search

+15
View File
@@ -1337,4 +1337,19 @@ describe("built-in weekly tasks in Your own", () => {
expect(html).toContain('href="https://game8.co/games/Zenless-Zone-Zero/archives/484723"');
expect(html).toContain("Make it mine");
});
test("each can be tracked or not, and one not tracked stays listed so it can come back", async () => {
const { routinesFor } = await import("../src/shared/routines.ts");
const noop = () => {};
const html = render(
<YourOwn games={GAMES} events={{}} lanes={["zzz"]} now={0} onOpen={noop}
onAddGame={noop} onEditGame={noop} onRemoveGame={() => ({ removed: true, blockedBy: 0 })}
onAddEvent={noop} onAddTask={noop} onEditTask={noop} onRemoveTask={noop} tasks={[]}
routines={routinesFor("zzz")} onMakeItMine={noop}
routinesHidden={new Set(["routine:zzz:ridu-weekly"])} onTrackRoutine={noop} />,
);
expect(html).toContain("Ridu Weekly");
expect(html).toContain("Not tracked");
expect(html).toContain('aria-label="Track Ridu Weekly"');
});
});