Chat + word-check as their own screens; in-game unread badge (review item 7)
CI / changes (pull_request) Successful in 1s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 34s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m6s
CI / changes (pull_request) Successful in 1s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 34s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m6s
- Chat and word-check are now routed screens (/game/:id/chat, /game/:id/check) with a header back to the game and no tab-bar, replacing their modals. The soft keyboard just resizes the visible viewport (tracked into --vvh, which the Screen height uses since iOS does not shrink dvh for the keyboard) with the input pinned to the bottom: no modal relayout, no page jump. Supersedes the earlier bottom-sheet Modal attempt. - A new chat message raises an unread badge on the in-game hamburger + the Chat menu row (per game, cleared on opening the chat), mirroring the lobby badge. - TG native back + the header back chevron return chat/check to their game. - Exposes --tg-safe-top (device notch) for the finalised TG-fullscreen header. Tests: e2e for chat/check opening as their own screens + back. Docs: PLAN, FUNCTIONAL(+ru).
This commit is contained in:
@@ -1403,10 +1403,16 @@ provided cert) at the contour caddy; prod VPN; rollback.
|
||||
- **Edge-swipe back** (`Screen.svelte`): a left-edge rightward drag navigates to `back`
|
||||
(touch/pen only, armed only from ≤24px so it never fights the board's gestures; skipped
|
||||
inside Telegram, which has its own back).
|
||||
- **Chat soft-keyboard** is a **bottom-sheet** `Modal` lifted above the keyboard by a
|
||||
`transform` driven by `visualViewport` (compositor-only — the board behind and the sheet
|
||||
no longer relayout as the keyboard animates). iOS-specific; needs on-device fine-tuning.
|
||||
The native `Keyboard.setResizeMode('none')` path waits for Capacitor (not yet wired).
|
||||
- **Chat + word-check are now their own routed screens** (`/game/:id/chat`,
|
||||
`/game/:id/check`, header back to the game, no tab-bar) so the soft keyboard simply resizes
|
||||
the **visible viewport** — mirrored into a `--vvh` CSS var the `Screen` height uses, since
|
||||
iOS doesn't shrink `dvh` for the keyboard — with the input pinned to the bottom: no modal
|
||||
relayout, no page jump (this superseded a first bottom-sheet-`Modal` attempt). New chat
|
||||
messages raise an **unread badge** on the in-game hamburger + the Chat menu row (per game,
|
||||
cleared on open), mirroring the lobby badge; the chat screen is routable for a future
|
||||
Telegram deep-link. The TG-fullscreen header was also finalised over a couple of review
|
||||
passes: title + menu as a centred pair inside Telegram's nav band (between `--tg-safe-top`
|
||||
and `--tg-content-top`), with a small padding bump so the native controls aren't flush.
|
||||
- **Tests backfilled** for the merged round-6 work: e2e for the in-game "✓ in friends" item
|
||||
and a board→board tile relocation; codec units for `last_activity_unix` + `OutgoingRequestList`.
|
||||
- **Deferred to the next PR (agreed):** #4 enrich the out-of-app "your turn" / game-end push
|
||||
|
||||
Reference in New Issue
Block a user