From e5b237cc60a1e9369cb0b465c6d08d06c826382e Mon Sep 17 00:00:00 2001 From: WardPearce Date: Tue, 22 Oct 2024 19:52:24 +1300 Subject: [PATCH] Fix pause timer not updating --- .../src/routes/(app)/watch/[slug]/+page.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/materialious/src/routes/(app)/watch/[slug]/+page.svelte b/materialious/src/routes/(app)/watch/[slug]/+page.svelte index 80457f8e..60de01bc 100644 --- a/materialious/src/routes/(app)/watch/[slug]/+page.svelte +++ b/materialious/src/routes/(app)/watch/[slug]/+page.svelte @@ -48,6 +48,7 @@ import { onDestroy, onMount } from 'svelte'; import { _ } from 'svelte-i18n'; import { get } from 'svelte/store'; + import type { MediaTimeUpdateEvent } from 'vidstack'; import type { MediaPlayerElement } from 'vidstack/elements'; export let data; @@ -84,6 +85,16 @@ let showTranscript = false; + let playerCurrentTime: number = 0; + // @ts-ignore + $: if (typeof player !== 'undefined') { + playerCurrentTime = player.currentTime; + player.addEventListener( + 'time-update', + (event: MediaTimeUpdateEvent) => (playerCurrentTime = event.detail.currentTime) + ); + } + playlistSettingsStore.subscribe((playlistSetting) => { if (!data.playlistId) return; if (data.playlistId in playlistSetting) { @@ -841,7 +852,7 @@ bind:value={pauseTimerSeconds} min="0" step="60" - max={data.video.lengthSeconds - player.currentTime - 60} + max={data.video.lengthSeconds - playerCurrentTime - 60} />