mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 01:47:41 -08:00
fix(detail): let the pane width choose between the Back lane and the bar
Review follow-up. The bar fallback keyed on the 640px viewport breakpoint, but beside the context panel a desktop pane can be narrower than a phone: at a 641px window the lane left the player card ~150px wide. The shell now measures its own border box with a ResizeObserver and sets shell-host--compact below 400px, so the bar covers phones and squeezed desktop panes alike, independent of scrollbar width. The Electron E2E now asserts the lane mode at 1280/780px, sweeps the bar at 700/375px (opaque, hit-tests over whatever scrolls beneath it), and checks the season heading stays on one line from 680 to 1600px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
377b22124b
commit
38b9e4e267
5 files changed
+221
-15
No files matched your search
@@ -37,10 +37,14 @@ position puts the arrow over a heading or the player. The shell derives the lane
|
||||
from the button's geometry and publishes it as `--detail-back-lane`, which
|
||||
`content-hero` and `content-about` read too; hosts with `backAvailable=false`
|
||||
keep their own inset. The lane is horizontal because watch state is short of
|
||||
height, not width. The phone breakpoint (640 px) is the exception: a 72 px column
|
||||
would clip the player's controls, so there the wrapper becomes an in-flow 56 px
|
||||
sticky bar on `--app-header-bg` that content scrolls beneath. Electron E2E
|
||||
(`detail-back-lane.e2e.ts`) sweeps both states at 1280 and 780 px.
|
||||
height, not width. A pane narrower than 400 px is the exception — a phone, or a
|
||||
desktop pane beside the context panel — because a 72 px column there would clip
|
||||
the player's controls. The pane decides, not the viewport: a `ResizeObserver`
|
||||
on the shell's border box (scrollbar-independent) sets `shell-host--compact`,
|
||||
and the wrapper becomes an in-flow 56 px sticky bar on `--app-header-bg` that
|
||||
content scrolls beneath and that takes the taps over it. Electron E2E
|
||||
(`detail-back-lane.e2e.ts`) sweeps both states with the lane at 1280 and
|
||||
780 px and with the bar at 700 and 375 px.
|
||||
|
||||
The sticky control is route-level Back in both states: it emits `backClicked`
|
||||
whether or not inline playback is active, so the arrow keeps one meaning and
|
||||
|
||||
Reference in new issue
Block a user