From a843ae530b07b92fc7341754b4722cdcb8dfb831 Mon Sep 17 00:00:00 2001 From: RblSb Date: Wed, 22 Jan 2025 15:13:11 +0300 Subject: Redesign portrait view with player at top Also improve autoscroll with column-reverse, so viewport resize / orientation change should not scroll chat to random places --- src/client/Player.hx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/client/Player.hx') diff --git a/src/client/Player.hx b/src/client/Player.hx index f51d017..0efa2e3 100644 --- a/src/client/Player.hx +++ b/src/client/Player.hx @@ -24,7 +24,7 @@ class Player { final rawPlayer:IPlayer; final videoList = new VideoList(); final videoItemsEl = ge("#queue"); - final playerEl:Element = ge("#ytapiplayer"); + final playerEl = ge("#ytapiplayer"); var player:Null; var isLoaded = false; var skipSetTime = false; @@ -49,6 +49,20 @@ class Player { iframePlayer = new Iframe(main, this); rawPlayer = new Raw(main, this); initItemButtons(); + + final resizeObserver = Utils.createResizeObserver(entries -> { + if (isLoaded) return; + Buttons.onViewportResize(); + }); + if (resizeObserver != null) { + resizeObserver.observe(playerEl); + } else { + final timer = new haxe.Timer(50); + timer.run = () -> { + if (isLoaded) return; + Buttons.onViewportResize(); + } + } } function initItemButtons():Void { @@ -239,6 +253,7 @@ class Player { public function onCanBePlayed():Void { if (!isLoaded) main.send({type: VideoLoaded}); isLoaded = true; + Buttons.onViewportResize(); } public function onPlay():Void { -- cgit v1.2.3