diff --git a/materialious/src/lib/store.ts b/materialious/src/lib/store.ts index e1cbbc2e..9204cd25 100644 --- a/materialious/src/lib/store.ts +++ b/materialious/src/lib/store.ts @@ -143,3 +143,4 @@ export const playlistCacheStore: Writable<{ }> = writable({}); export const isAndroidTvStore: Writable = writable(false); +export const isTvRouteLoading: Writable = writable(false); diff --git a/materialious/src/routes/(no-layout)/tv/[slug]/+layout.svelte b/materialious/src/routes/(no-layout)/tv/[slug]/+layout.svelte new file mode 100644 index 00000000..980927e7 --- /dev/null +++ b/materialious/src/routes/(no-layout)/tv/[slug]/+layout.svelte @@ -0,0 +1,12 @@ + + +{#if $isTvRouteLoading} + +{:else} + {@render children?.()} +{/if} diff --git a/materialious/src/routes/(no-layout)/tv/[slug]/+page@.svelte b/materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte similarity index 100% rename from materialious/src/routes/(no-layout)/tv/[slug]/+page@.svelte rename to materialious/src/routes/(no-layout)/tv/[slug]/+page.svelte diff --git a/materialious/src/routes/(no-layout)/tv/[slug]/+page.ts b/materialious/src/routes/(no-layout)/tv/[slug]/+page.ts index ce91aad0..c9eb4ce9 100644 --- a/materialious/src/routes/(no-layout)/tv/[slug]/+page.ts +++ b/materialious/src/routes/(no-layout)/tv/[slug]/+page.ts @@ -1,5 +1,9 @@ +import { isTvRouteLoading } from '$lib/store.js'; import { getWatchDetails } from '$lib/watch.js'; export async function load({ params, url }) { - return await getWatchDetails(params.slug, url); + isTvRouteLoading.set(true); + const details = await getWatchDetails(params.slug, url); + isTvRouteLoading.set(false); + return details; }