From f844e2acd7503500ea83430c590671561c658dc0 Mon Sep 17 00:00:00 2001 From: serrebi Date: Sun, 3 May 2026 22:04:54 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Fix=20iPhone=20web=20client:=20split=20pane?= =?UTF-8?q?ls=20into=20History=20=E2=86=92=20Game=20=E2=86=92=20Chat,=20ad?= =?UTF-8?q?d=20tap=20defenses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit iPhone players reported being unable to see history or the menu, and when the menu was visible they could not tap cards to draw or play them. Three issues compounded: 1. `.grid { display: grid }` in author CSS was overriding the UA stylesheet's `[hidden] { display: none }`, so `gameShell.hidden = true` did not actually hide the element. The login dialog backdrop happened to mask this pre-login, but the cascade is wrong. Add `[hidden] { display: none !important }` so the hidden attribute always wins. 2. The History+Chat panel was bundled together with chat at the bottom of it, sitting in column 2 on desktop and below the Game panel on mobile. Players asked for History at the top, Game in the middle, Chat at the bottom on phones. Split into three panels (history-panel / game-panel / chat-panel) and use `grid-template-areas` so: - Desktop keeps the same look: Game (left, full height), History (top-right), Chat (bottom-right). - Mobile: history → game → chat in a single column, all the way down. 3. Tap reliability on iPhone: buttons inside scrollable lists could feel unresponsive because of iOS Safari's touch-action heuristics and the missing `cursor: pointer`. Add `cursor: pointer`, `touch-action: manipulation`, `-webkit-tap-highlight-color`, and an `:active` background on `.menu-item-touch` and `.actions-item-btn` for visible tap feedback. Also add `-webkit-overflow-scrolling: touch` to `.menu-list` so momentum scrolling does not eat taps. 4. Compact volume controls on mobile: drop `flex-direction: column` from `.volume-controls` so the parent `.row` `flex-wrap: wrap` lets them flow horizontally; header drops from 162px to 50–106px. Bump web client version to 2026.05.03.2 to invalidate cached app.js on iOS Safari. Verified in playwright iPhone emulation: - Portrait 390x844: History (y=269), Game with full menu (y=359), Chat (y=719) all stack cleanly. - Landscape 844x390: same order, all fits in 390px height. - Desktop 1280x800: Game on left (full height), History top-right, Chat bottom-right. - Click handler verified firing on .menu-item-touch buttons. Co-Authored-By: Claude Opus 4.7 --- clients/web/index.html | 36 +++++++++++++++------------- clients/web/styles.css | 54 ++++++++++++++++++++++++++++++------------ clients/web/version.js | 2 +- 3 files changed, 59 insertions(+), 33 deletions(-) diff --git a/clients/web/index.html b/clients/web/index.html index 260e8101..cac8a155 100644 --- a/clients/web/index.html +++ b/clients/web/index.html @@ -35,7 +35,23 @@

PlayPalace V11 Web