Puzzles landing at /puzzles: rating, Mixed door, Theme families and recent Attempts #454

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

Parent

#450

What to build

/puzzles becomes the Puzzles landing (prototype variant E), replacing the temporary redirect to /puzzles/train. Puzzles in the sidebar and in the phone bar lead here.

Header band

  • The title and the Puzzle rating, with the provisional InfoTip.
  • One big door, Mixed training, leading to /puzzles/train.

Body

  • Families. The curated Themes are grouped into Theme families: Mates, Tactics, Material, Techniques and Endgames (the spec lists which Theme goes where).
    • A family list sits on the left; the picked family is kept in ?family=, and the first family is the default.
    • The picked family's Themes appear as large cards. Each card holds a position illustrating the motif, the Theme's name and a one-line description.
    • Each card is a door to /puzzles/train?theme=<theme>.
  • Recent. The last five Attempts appear as small boards with their rating change, under the family list. Each links to its Replay, and "See all" links to the History.

Content

  • One FEN per curated Theme, hand-picked from the committed Lichess sample. The prototype's positions are placeholders.
  • Family names and descriptions go in the Paraglide catalogue, in English and French.
  • Theme family is added to GLOSSARY.md.

States

  • Loading: placeholders for the rating and the recent strip.
  • No Attempt yet: the recent strip reads "Your Puzzles will appear here".

Responsive

  • Phone: the header stacks; the families become a row of chips that scrolls sideways; one card per row (two from sm); Recent comes after the cards.
  • 1920 px: the page is 80 rem wide and centred, with four cards per row from 2xl.

The cards' progress, the family rates and Resume come in the next ticket.

Covers stories 8–10, 12, 14, 15, 17 and the landing's part of 39.

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

Acceptance criteria

  • /puzzles renders the landing, and ?family= survives Back and a reload
  • Each of the 20 curated Themes has a card with its own position and description, in both languages
  • The big door and every card lead to /puzzles/train, with the card's Theme
  • The recent strip shows up to five Attempts and links to each Replay and to the History; its empty and loading states render
  • GLOSSARY.md defines Theme family
  • Browser check at 390, 1280 and 1920 px, with screenshots in the merge request
## Parent #450 ## What to build `/puzzles` becomes the Puzzles landing (prototype variant E), replacing the temporary redirect to `/puzzles/train`. Puzzles in the sidebar and in the phone bar lead here. **Header band** - The title and the Puzzle rating, with the provisional InfoTip. - One big door, Mixed training, leading to `/puzzles/train`. **Body** - **Families.** The curated Themes are grouped into **Theme families**: Mates, Tactics, Material, Techniques and Endgames (the spec lists which Theme goes where). - A family list sits on the left; the picked family is kept in `?family=`, and the first family is the default. - The picked family's Themes appear as large cards. Each card holds a position illustrating the motif, the Theme's name and a one-line description. - Each card is a door to `/puzzles/train?theme=<theme>`. - **Recent.** The last five Attempts appear as small boards with their rating change, under the family list. Each links to its Replay, and "See all" links to the History. **Content** - One FEN per curated Theme, hand-picked from the committed Lichess sample. The prototype's positions are placeholders. - Family names and descriptions go in the Paraglide catalogue, in English and French. - **Theme family** is added to `GLOSSARY.md`. **States** - Loading: placeholders for the rating and the recent strip. - No Attempt yet: the recent strip reads "Your Puzzles will appear here". **Responsive** - Phone: the header stacks; the families become a row of chips that scrolls sideways; one card per row (two from `sm`); Recent comes after the cards. - 1920 px: the page is 80 rem wide and centred, with four cards per row from `2xl`. The cards' progress, the family rates and Resume come in the next ticket. Covers stories 8–10, 12, 14, 15, 17 and the landing's part of 39. Seam: Front — the pages on the app's router ## Acceptance criteria - [ ] `/puzzles` renders the landing, and `?family=` survives Back and a reload - [ ] Each of the 20 curated Themes has a card with its own position and description, in both languages - [ ] The big door and every card lead to `/puzzles/train`, with the card's Theme - [ ] The recent strip shows up to five Attempts and links to each Replay and to the History; its empty and loading states render - [ ] `GLOSSARY.md` defines **Theme family** - [ ] Browser check at 390, 1280 and 1920 px, with screenshots in the merge request
root commented 2026-10-19 14:46:11 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #455

mentioned in issue #455
root commented 2026-10-19 14:46:13 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #456

mentioned in issue #456
root commented 2026-10-19 14:46:45 +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:04 +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:05 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #455

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

marked this issue as related to #456

marked this issue as related to #456
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 15:38:21 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 77f9d177a9

mentioned in commit 77f9d177a95d024dbbde44bb7322667a02702c8d
root commented 2026-10-19 18:46:22 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 10611cc294

mentioned in commit 10611cc2940ef38c9e0750c4a3c2adb1fcfe56b0
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#454
No description provided.