fix(playback): scroll the whole subtitle popover on short players

Codex review round 3 on #1471: the delay/style sections sat outside the
track list's scroll area, so on short players (220px portal player) they
clipped or overflowed past the popover's height cap into the controls bar.
The subtitle popover now wraps the list and both sections in one scroll
owner; the pinned title and the other popovers are unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5 committed 2026-08-23 11:55:16 +02:00
1 parent 604a8633dd
commit a407879623
2 files changed
+25

No files matched your search

@@ -359,6 +359,11 @@
'EMBEDDED_MPV.PLAYER.SUBTITLES' | translate
}}
</div>
<!-- Single scroll owner for the track list AND the
delay/style sections: on short players the
popover height cap must scroll everything, not
clip the sections outside the list. -->
<div class="player-controls__subtitle-body">
<div class="player-controls__track-list">
@if (
capabilities().subtitles &&
@@ -619,6 +624,7 @@
</div>
</div>
}
</div>
</div>
}
</div>
@@ -505,6 +505,25 @@
color: rgba(255, 255, 255, 0.85);
}
// Single scroll owner for the subtitle popover's list + delay/style sections:
// on short players (e.g. the 220px portal player) the panel's max-height cap
// must scroll ALL content — sections outside the list's own scroll area would
// otherwise clip or overflow into the controls bar.
.player-controls__subtitle-body {
display: flex;
flex-direction: column;
flex: 0 1 auto;
min-height: 0;
overflow-y: auto;
scrollbar-width: thin;
}
// Inside the shared scroll owner the list must not nest a second scroll area.
.player-controls__subtitle-body .player-controls__track-list {
flex: none;
overflow-y: visible;
}
.player-controls__subtitle-section {
flex: 0 0 auto;
margin-top: 8px;