Stage 7 UI polish: fix ad-marquee end, drop-time zoom, focus centring, sticky rack selection
Tests · UI / test (push) Successful in 11s
Tests · Go / test (pull_request) Successful in 6s
Tests · Integration / integration (pull_request) Successful in 12s
Tests · UI / test (pull_request) Successful in 11s

- AdBanner: move the side inset onto the scrolling track so the long message
  scrolls to its very end; pin body text-size-adjust:100% so iOS/Safari stops
  inflating the long marquee text.
- Game: do not zoom on drag start (the player may change their mind) — zoom and
  centre happen on drop, in attemptPlace; a stray tap on an occupied cell no
  longer cancels the rack selection (wait for an empty cell).
- Board: centre the focus cell after the zoom width transition finishes (was
  clamping to top-left mid-transition); compute the cell from the rendered
  scrollWidth.
This commit is contained in:
Ilia Denisov
2026-06-03 16:22:01 +02:00
parent 10d48884ac
commit 1e7da5925a
4 changed files with 35 additions and 8 deletions
+4 -1
View File
@@ -56,7 +56,7 @@
.ad {
overflow: hidden;
white-space: nowrap;
padding: 6px var(--pad);
padding: 6px 0;
background: var(--surface-2);
color: var(--text-muted);
font-size: 0.85rem;
@@ -68,6 +68,9 @@
}
.track {
display: inline-block;
/* The side inset lives on the track (not the clipping .ad) so the scroll distance
(scrollWidth - viewport.clientWidth) reaches the very end of a long message. */
padding: 0 var(--pad);
will-change: transform;
}
.track :global(a) {