feat(tour): everyone takes the tour once, and tries the layouts in it
The tour now floats over the page it describes and must be finished before the app can be used: new readers straight after setup, returning readers on their next visit, and anyone who saw the earlier tour. The page behind stays visible and scrollable but inert. "Pick a layout" (on the Checklist) and the Timeline step switch Relaxed / Structured and New / Classic in place; the selected look is kept. Returning readers start on Relaxed. A replay from Settings stays optional and closable. redesignTourSeen now records new / returning / replay / 2026-10-tour-2; any other value means not yet taken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0abca649fa
commit
d8ce442cff
11 files changed
+836
-541
No files matched your search
@@ -816,6 +816,13 @@ Prefs add interface (structured/default or relaxed), density (standard/default o
|
||||
soon or timeline; utility navigation is transient. Future/unreadable records remain exportable even
|
||||
when this build cannot offer editing controls.
|
||||
|
||||
`prefs.redesignTourSeen` (2026-10-18) records where the reader is with the tour. Its values are
|
||||
`"2026-10-tour-2"` (done), `"new"` or `"returning"` (the tour is forced; the value picks the opening
|
||||
line), and `"replay"` (optional). Any other value, including the earlier tour's `"2026-10-redesign"`,
|
||||
means the reader has not taken this tour: the app moves them to `interface: "relaxed"` and stores
|
||||
`"returning"`. A later tour version changes the done value, so every reader takes it once more. See
|
||||
`tourMode` in `ReturningTour.tsx`.
|
||||
|
||||
|
||||
The fidelity correction adds `prefs.routineGroup` (`reset`, the absent-value default, or `game`)
|
||||
for the Routines page's grouping. It changes no routine IDs or placement keys. Structured is the
|
||||
|
||||
+14
-3
@@ -631,6 +631,17 @@ legend on the same baseline as "Next: …".
|
||||
(interface, theme, scheme, urgency colours, default view, game order, timeline design, focus bar,
|
||||
checklist group), Your own events and games, Backup (tiers plus a manual "Your backups" list), and
|
||||
per-game Setup / Codes / About.
|
||||
- **Returning-user tour.** Routines → Checklist → Timeline → Redeem codes → Archive → Settings.
|
||||
Continue stays in a fixed place, Back sits beside it, and Skip is apart. "Replay the introduction"
|
||||
starts it at step 1.
|
||||
- **The tour (2026-10-18, owner).** Every reader takes it once before using the app: new readers
|
||||
straight after setup, returning readers on their first visit, and readers who saw the earlier tour
|
||||
once more. Routines → Checklist → Pick a layout → Timeline → Redeem codes → Archive → Settings.
|
||||
- It floats over the page it describes. While forced, the page behind is `inert` under a light
|
||||
scrim. It can be scrolled and seen, but not clicked. There is no Skip, and a reload restarts at
|
||||
step 1.
|
||||
- "Pick a layout" (on the Checklist) and the Timeline step each hold a two-way switch, Relaxed /
|
||||
Structured and New / Classic. The switch changes the page behind in place, and the selected one
|
||||
is kept. Readers are shown the difference rather than told about it, because most never open
|
||||
Appearance.
|
||||
- Returning readers are moved to Relaxed as the tour opens. New readers keep the look they chose in
|
||||
setup.
|
||||
- Continue stays in a fixed place and Back sits beside it. Only a replay ("Replay the
|
||||
introduction" in Appearance) has a way out, "Close tour", with no scrim.
|
||||
@@ -103,7 +103,7 @@ for (const variant of ["structured", "relaxed"])
|
||||
let s = JSON.parse(
|
||||
localStorage.getItem("gacha-tracker:v2:reader"),
|
||||
);
|
||||
s.prefs.redesignTourSeen = "2026-10-redesign";
|
||||
s.prefs.redesignTourSeen = "2026-10-tour-2";
|
||||
s.prefs.interface = variant;
|
||||
s.prefs.theme = theme;
|
||||
s.prefs.changelogSeen = "9999-12-31";
|
||||
|
||||
@@ -938,3 +938,15 @@ redesign commit.
|
||||
page. See docs/SOURCES.md § Redeem codes for eight more games.
|
||||
- **Owner's TODO:** let readers try Relaxed/Structured and the new/classic Timeline live, including
|
||||
returning readers who've done the tour.
|
||||
|
||||
## Round: the forced tour and trying the looks (2026-10-18)
|
||||
|
||||
The owner asked for every reader, new and returning, to be put through the tour before they can use
|
||||
the app, and for returning readers to start on Relaxed. "Pick a layout" (Checklist) and the Timeline
|
||||
step switch the page behind in place, and the selected look is kept. See `docs/DESIGN.md` → "The tour"
|
||||
and `docs/DATA-MODEL.md` for the `redesignTourSeen` values.
|
||||
|
||||
Schema review: no data-loss or stuck-state path. Accepted, by the owner's rule: a returning reader who
|
||||
had picked Structured on purpose is moved to Relaxed once, and the previous value isn't kept. The tour's
|
||||
layout step puts it back in one click. Left as is (low): a stale second tab can re-force the tour
|
||||
once, and a save-error banner shown during a forced tour can be read but not clicked.
|
||||
Reference in new issue
Block a user