feat(front): put the dead ends on a DeadEndPage with a board to play on #559
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
spec
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amaurycoudr/chess-project!559
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/eager-wilbur-560d0a"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Game not found, Player not found, the unknown address and the router's error screen move onto a new page template,
DeadEndPage. Each one shows a heading, the reason, the address asked for when it helps, and the ways onward, beside a board where the Player can play a whole game alone. The two password-recovery notices become a notice state ofAuthPage./games/<id>/players/<username>The test harness's own
PlayableBoard(inboard.harness.tsx) is nowBoardInPlay, a thin wrapper over the realPlayableBoard, so one name means one thing.Evidence
AuthPagewith a narrow column.After: in the dev stack, each screen was checked at 1280 and 390 px, and Game not found at 1920 px too:
app/dead-ends.test.tsx(new: the unknown address, the error screen, the free board's checkmate, threefold draw, promotion, Play again and French copy), plus additions togame-page-route,profile-route,forgot-passwordandreset-password. Morphy's finish tests insign-in.test.tsxpass unchanged.apps/e2e/tests/dead-ends.spec.ts. It opens an unknown Game link, plays e4 and follows My games. It also covers Try again's full reload: the Game read is aborted, then the route is removed and Try again pressed. A full reload cannot be clicked inside Vitest's browser iframe, so this check lives in e2e.pnpm lint,typecheck,test,build,format:checkall green.Merge Danger
Door: two-way
Blast Radius: layout
These four screens and the two recovery notices change. Two tests that asserted "no board" on a not-found or error page now check for no Game page or Room layout instead.
Proposed rule change (not committed)
Rule 8 of
apps/front/CODING_STANDARDS.md, add a fifth template:Changing the rule is the owner's call, in a dedicated MR (CLAUDE.md).
Review notes
game_play_again("Play again" / "Rejouer") has the same text asroom_play_again. It is a separate key because it names a different action: the free board starting over, not a Room's rematch.Follow-ups noticed
games/components/now holds one file (game-row.tsx), below rule 2's two-file threshold for a role folder. Moving it to the vertical's root would collide withgames/game-row.ts, so it is left as is.Closes #458
Screenshots
Before is production, after is this merge request's review app at
9e6fc7d.Desktop
Mobile