Stage 7 polish: UI/UX refinements (shell, board zoom, hint-on-board, history, ...) #8
Reference in New Issue
Block a user
Delete Branch "feature/stage-7-ui-polish"
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?
UI/UX refinement batch on top of the Stage 7 slice (PR #7).
no_hint_availablecode); Scores:N replaces Hints; history slide-down (not a modal); word-check alphabet/length limit + cache + throttle.Tests: 29 Vitest + Playwright smoke + the no_hint_available Go test. Prod bundle ~74 KB gzip.
- Board: fixed-viewport transform-scale zoom (animated) with counter-scaled cqw labels, corner letters, bonus-label modes (boardlabels), contrasting grid lines - Game: Screen shell + game tab-bar (Draw/Skip/Hint/Shuffle) via HoldConfirm popovers; MakeMove 🏁 + compact popup; rack collapses used slots; hint places tiles on board (placementFromHint) + no_hint_available toast; Scores:N replaces Hints; history slide-down (swipe/click, scroll-locked); check-word alphabet/length limit + in-memory cache + 5s throttle - backend: no_hint_available result code split + test - vitest: banner rotator + linkify, resultBadge, boardlabels, placementFromHint (29 tests); Playwright smoke updated; prod bundle ~74 KB gzipLock the polish branch's behaviour so a future UI edit surfaces as a failing assertion to re-agree or fix. Unit (vitest, node env): - placement: recallIndex, cellOccupied/isBlankSlot, non-linear direction, the single-tile submit default, and placementFromHint blank-fallback / rack-exhausted. - banner: the marquee scroll-cycle repeat-then-advance, stop(), root-relative and multiple links. - client.GatewayError. Extract the check-word constraints out of Game.svelte into a pure lib/checkword.ts (sanitize + canCheck) and cover them. E2E (playwright mock, Chromium + WebKit): - commit via the 🏁 control, history slide-down + close, the exchange dialog, check-word input sanitising + verdict, resign-to-finished, and the Settings board-label mode changing the on-board labels.