diff --git a/libs/ui/playback/src/lib/player-controls/player-controls.component.html b/libs/ui/playback/src/lib/player-controls/player-controls.component.html index 16b533195..a85df057c 100644 --- a/libs/ui/playback/src/lib/player-controls/player-controls.component.html +++ b/libs/ui/playback/src/lib/player-controls/player-controls.component.html @@ -359,6 +359,11 @@ 'EMBEDDED_MPV.PLAYER.SUBTITLES' | translate }} + +
@if ( capabilities().subtitles && @@ -619,6 +624,7 @@
} + } diff --git a/libs/ui/playback/src/lib/player-controls/player-controls.component.scss b/libs/ui/playback/src/lib/player-controls/player-controls.component.scss index 8348c3e95..79059f289 100644 --- a/libs/ui/playback/src/lib/player-controls/player-controls.component.scss +++ b/libs/ui/playback/src/lib/player-controls/player-controls.component.scss @@ -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;