fix(ui): native header top safe-area under edge-to-edge

The earlier safe-area fix reached the bottom bars (they apply
--tg-safe-bottom) but not the header: its top inset lived only in a
Telegram-fullscreen-scoped rule, so on the native build the header .bar had
just 5px top padding and its content sat under the status bar (measured: the
title at y=11px behind the 54px bar; the back button untappable). Give .bar a
top inset from the SystemBars plugin's --safe-area-inset-top (native-only via
the plugin var; unset -> 0 on web/PWA/Telegram/VK, so no regression;
tg-fullscreen still overrides via specificity). Verified on-device (Pixel_10 /
API 37): the title moved from y=11 to y=65, clear of the status bar.
This commit is contained in:
Ilia Denisov
2026-07-12 19:22:12 +02:00
parent 4a0689a4ac
commit 49c53794f4
3 changed files with 23 additions and 10 deletions
+4 -2
View File
@@ -441,8 +441,10 @@ airplane mode): cold-boot → offline guest lobby, offline vs_ai played end-to-e
placed "FEZ", the robot replied "NEEDFIRE"), New Game offers both modes. The smoke surfaced a native-chrome
bug on **Android 15+ edge-to-edge** (WebView < 140 reports `env(safe-area-inset-*)`=0 → the top nav draws
under the status bar and the game's centre Hint button under the gesture-nav home indicator) — **fixed** by
consuming the SystemBars core plugin's injected `--safe-area-inset-*` in `app.css` (see `.claude/CLAUDE.md`;
no dep/config — the plugin ships in `@capacitor/core` v8). Remaining for D: the reconcile-online leg
consuming the SystemBars core plugin's injected `--safe-area-inset-*`: the bottom via the `--tg-safe-*` token
(`app.css`), and the header's top inset via a native-only `.bar` rule (`Header.svelte` — its top inset was
Telegram-fullscreen-scoped only, so the token alone did not reach it). No dep/config (the plugin ships in
`@capacitor/core` v8); full story in `.claude/CLAUDE.md`. Remaining for D: the reconcile-online leg
on-device (hits prod — a guest mint) and the deferred local-game-visibility decision (§G). **Verify every
line ref below against current code.**