fix(player): first-class maximise/fullscreen view (UAT round)

UAT feedback on the F-maximise view — three fixes:
- Own control bar in the big views (maximise + our fullscreen): previous/next +
  N/M, auto-advance, loop, add-to-playlist, download, mark-watched, exit, and a
  true-fullscreen toggle. Auto-hides on idle. Add/download are hidden in true
  fullscreen (their popovers portal to <body>, outside the fullscreen element).
- Wheel volume works in the big views again: the centre interaction overlay is
  now armed in maximise/fullscreen (it only yields to YouTube's own settings
  menu), so the wheel bubbles to our handler instead of the bare iframe. F also
  offers true fullscreen that WE own (Fullscreen API on the stage), so wheel/
  arrow volume and our controls work inside it too — YouTube's own fullscreen
  button, which we never surface, is not involved.
- Back (mouse/browser) steps out one level at a time via nested history layers
  (useBackToExit): fullscreen -> maximise -> the modal -> closed, instead of
  closing the whole player at once.

Verified in Chrome: wheel volume in maximise + fullscreen, the control bar, and
the full Back ladder (fullscreen -> maximise -> modal -> closed).
This commit is contained in:
2026-07-26 02:48:46 +02:00
parent 475bd7fef8
commit 51193105a7
5 changed files with 228 additions and 32 deletions
+3 -1
View File
@@ -37,5 +37,7 @@
"openOnYoutube": "Open on YouTube",
"shortcutsHint": "Click: play/pause · Scroll or ↑ ↓: volume · F: fill the window",
"exitMaximize": "Exit full window (Esc)",
"nativeControls": "YouTube controls active"
"nativeControls": "YouTube controls active",
"fullscreen": "Fullscreen",
"exitFullscreen": "Exit fullscreen"
}
+3 -1
View File
@@ -37,5 +37,7 @@
"openOnYoutube": "Megnyitás YouTube-on",
"shortcutsHint": "Kattintás: lejátszás/szünet · Görgő vagy ↑ ↓: hangerő · F: teljes ablak",
"exitMaximize": "Kilépés a teljes ablakból (Esc)",
"nativeControls": "YouTube vezérlők aktívak"
"nativeControls": "YouTube vezérlők aktívak",
"fullscreen": "Teljes képernyő",
"exitFullscreen": "Kilépés a teljes képernyőből"
}