From 1f44b744808eac8ecc61fcafa03a1b7e4e5da909 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Fri, 7 Nov 2025 16:15:50 +1300 Subject: [PATCH] Fix playerElement not being set --- materialious/src/lib/components/Player.svelte | 5 ++ materialious/src/routes/(app)/+layout.svelte | 13 +-- .../routes/(app)/watch/[slug]/+page.svelte | 84 +++++++++++-------- 3 files changed, 56 insertions(+), 46 deletions(-) diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index 820bcda7..c74f1fe0 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -32,6 +32,7 @@ playerDefaultQualityStore, playerProxyVideosStore, playerSavePlaybackPositionStore, + playerState, playerStatisticsByDefault, playerYouTubeJsFallback, sponsorBlockCategoriesStore, @@ -458,6 +459,10 @@ }); playerElement = document.getElementById('player') as HTMLMediaElement; + if ($playerState) { + playerState.set({ ...$playerState, playerElement: playerElement }); + } + // Due to how our player is rendered in layout for stateful pip // we calaculate player height to then allow children pages // to wrap around it. diff --git a/materialious/src/routes/(app)/+layout.svelte b/materialious/src/routes/(app)/+layout.svelte index ef9f7646..3f7ba9e3 100644 --- a/materialious/src/routes/(app)/+layout.svelte +++ b/materialious/src/routes/(app)/+layout.svelte @@ -259,17 +259,6 @@ }); let webManifestLink = $derived(pwaInfo ? pwaInfo.webManifest.linkTag : ''); - - let playerElement: HTMLMediaElement | undefined = $state(); - let playerElementCaught = false; - - $effect(() => { - if ($playerState && playerElement && !playerElementCaught) { - playerElementCaught = true; - - playerState.set({ ...$playerState, playerElement: playerElement }); - } - }); @@ -423,7 +412,7 @@
{/if} {#key $playerState.data.video.videoId} - + {/key} {#if playerIsPip}