From 535e072bea11c596b663f68ab28a2d1c31e10c5f Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 28 Apr 2024 20:45:09 +1200 Subject: [PATCH] Add syncious support to thumbnail preview --- materialious/src/lib/Player.svelte | 14 +++++++------- materialious/src/lib/Thumbnail.svelte | 12 ++++++++++-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/materialious/src/lib/Player.svelte b/materialious/src/lib/Player.svelte index 5a0c3d27..a39784b8 100644 --- a/materialious/src/lib/Player.svelte +++ b/materialious/src/lib/Player.svelte @@ -191,14 +191,14 @@ try { player.currentTime = (await getVideoProgress(data.video.videoId))[0].time; } catch {} + } else { + try { + const playerPos = localStorage.getItem(`v_${data.video.videoId}`); + if (playerPos) { + player.currentTime = Number(playerPos); + } + } catch {} } - - try { - const playerPos = localStorage.getItem(`v_${data.video.videoId}`); - if (playerPos) { - player.currentTime = Number(playerPos); - } - } catch {} } } diff --git a/materialious/src/lib/Thumbnail.svelte b/materialious/src/lib/Thumbnail.svelte index c80b1ca5..311edadd 100644 --- a/materialious/src/lib/Thumbnail.svelte +++ b/materialious/src/lib/Thumbnail.svelte @@ -3,14 +3,16 @@ import { _ } from 'svelte-i18n'; import { get } from 'svelte/store'; import { + authStore, deArrowEnabledStore, interfacePreviewVideoOnHoverStore, playerProxyVideosStore, playerSavePlaybackPositionStore, syncPartyConnectionsStore, - syncPartyPeerStore + syncPartyPeerStore, + synciousStore } from '../store'; - import { getDeArrow, getThumbnail, getVideo } from './Api'; + import { getDeArrow, getThumbnail, getVideo, getVideoProgress } from './Api'; import type { Notification, PlaylistPageVideo, Video, VideoBase, VideoPlay } from './Api/model'; import { cleanNumber, getBestThumbnail, proxyVideoUrl, videoLength } from './misc'; import type { PlayerEvents } from './player'; @@ -128,6 +130,12 @@ img.onerror = () => { loading = false; }; + + if (get(synciousStore) && get(authStore)) { + try { + progress = (await getVideoProgress(video.videoId))[0].time.toString(); + } catch {} + } }); function syncChangeVideo() {