Aero music: the button works on the podcast player

"The music thing button with the Frutiger Aero doesn't work on the podcasts."
The podcast page is a full-screen overlay at z-45 and the control sat at z-40:
visible through the transparent page, but every tap landed on the overlay.

The control now takes a data-raised="player" position on /podcast/[id] -
z-index 46, docked to the header's corner (top under the header pill, right
mirroring the max-w-3xl geometry) where neither the transport bar nor the
voice panel lives - and the transcript gained pt-32 so the episode card clears
it. Study/review/exam feeds keep their "steps aside" behaviour.

aero-music-test: a podcast section asserts the control exists, that
elementFromPoint at its centre hits the button, and that a tap expands the
credit bar. 31 checks. Version 0.7.9, SW v101.
This commit is contained in:
Martin Dvořák 2026-10-16 21:04:39 +00:00
commit 724a068bec
7 changed files with 74 additions and 4 deletions

View file

@ -933,6 +933,15 @@ body:has(.overlay-open) :is(.app-header, .segmented, .tabbar, .cookie-notice) {
.aero-music[data-raised="wizard"] {
bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}
/* The podcast player is a full-screen overlay (z-45): the music control has
to ride above it, and it moves to the header's corner — the transport and
the voice panel own the bottom of that screen. */
.aero-music[data-raised="player"] {
top: calc(max(env(safe-area-inset-top), 0.75rem) + 3.9rem);
right: max(0.75rem, calc((100vw - 48rem) / 2 + 0.75rem));
bottom: auto;
z-index: 46;
}
body:has(.overlay-open) .aero-music,
/* The one-time notice shares this corner; it wins while it is up. */
body:has(.cookie-notice) .aero-music {