Theme switcher on the solving screen #456

Closed
opened 2026-10-19 14:46:12 +00:00 by root · 8 comments
root commented 2026-10-19 14:46:12 +00:00 (Migrated from gitlab.core-project.space)

Parent

#450

What to build

On the solving screen, the Theme in the rail header becomes a button that opens a Theme switcher (prototype train variant C). It lets the Player change Theme without leaving the board.

The switcher dialog

  • Wide, with its body scrolling.
  • Mixed training first, then every curated Theme grouped by Theme family, each with a small board.
  • The Theme in training is marked as current.
  • "All Puzzles" at the bottom leads to the landing.
  • Picking an entry goes to /puzzles/train[?theme=] and closes the dialog.

During a pending Attempt

The dialog says the Puzzle in play stays pending and the Theme picked applies from the next Puzzle. That is the API's rule: next serves the pending Attempt first. Once the Puzzle is resolved, the line is gone.

Replay

The Replay keeps "Replay" in the header, with no switcher.

Phone

One column of Theme buttons, two from sm.

Covers stories 22 and 23.

Seam: Front — the pages on the app's router

Acceptance criteria

  • The header's Theme opens the switcher, which lists Mixed and the five families with their Themes
  • Picking a Theme after a resolved Puzzle serves a Puzzle of that Theme
  • During a pending Attempt, the line shows, and picking a Theme brings the same Puzzle back
  • "All Puzzles" leads to /puzzles; Close and Escape return to the board
  • Browser check at 390, 1280 and 1920 px, with screenshots in the merge request
## Parent #450 ## What to build On the solving screen, the Theme in the rail header becomes a button that opens a **Theme switcher** (prototype train variant C). It lets the Player change Theme without leaving the board. **The switcher dialog** - Wide, with its body scrolling. - Mixed training first, then every curated Theme grouped by Theme family, each with a small board. - The Theme in training is marked as current. - "All Puzzles" at the bottom leads to the landing. - Picking an entry goes to `/puzzles/train[?theme=]` and closes the dialog. **During a pending Attempt** The dialog says the Puzzle in play stays pending and the Theme picked applies from the next Puzzle. That is the API's rule: `next` serves the pending Attempt first. Once the Puzzle is resolved, the line is gone. **Replay** The Replay keeps "Replay" in the header, with no switcher. **Phone** One column of Theme buttons, two from `sm`. Covers stories 22 and 23. Seam: Front — the pages on the app's router ## Acceptance criteria - [ ] The header's Theme opens the switcher, which lists Mixed and the five families with their Themes - [ ] Picking a Theme after a resolved Puzzle serves a Puzzle of that Theme - [ ] During a pending Attempt, the line shows, and picking a Theme brings the same Puzzle back - [ ] "All Puzzles" leads to `/puzzles`; Close and Escape return to the board - [ ] Browser check at 390, 1280 and 1920 px, with screenshots in the merge request
root commented 2026-10-19 14:46:48 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #450

marked this issue as related to #450
root commented 2026-10-19 14:47:06 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #452

marked this issue as related to #452
root commented 2026-10-19 14:47:07 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #454

marked this issue as related to #454
root commented 2026-10-19 15:01:58 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !557

mentioned in merge request !557
root commented 2026-10-19 16:11:08 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 327a85c8fa

mentioned in commit 327a85c8fa9b2cbb4b1c565aa311928144233f38
root commented 2026-10-19 16:11:09 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 607dd3403e

mentioned in commit 607dd3403e6ea2b928b022c010dd9e0952109446
root commented 2026-10-19 18:46:24 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 001296235b

mentioned in commit 001296235b48b701aa91e5c648182f4e77b9db6a
root commented 2026-10-19 18:46:25 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 12ce72661f

mentioned in commit 12ce72661f6da88065af97536fa0f644e285b9e0
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-19 19:20:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#456
No description provided.