diff --git a/src/lib/components/util/ClientOnly.svelte b/src/lib/components/util/ClientOnly.svelte new file mode 100644 index 0000000..1fbe3c7 --- /dev/null +++ b/src/lib/components/util/ClientOnly.svelte @@ -0,0 +1,35 @@ + + +{#if mounted} + {@render children()} +{:else if showFallback && fallback} + {@render fallback()} +{/if} diff --git a/src/lib/player/player.svelte.ts b/src/lib/player/player.svelte.ts index 2047bfd..56cc96b 100644 --- a/src/lib/player/player.svelte.ts +++ b/src/lib/player/player.svelte.ts @@ -623,7 +623,7 @@ export function insertTrack(track: Track, mode: InsertMode): void { } export function insertTracks(tracks: Track[], mode: InsertMode): void { - const incoming = dedupeTracks(tracks).filter((t) => t && t.src); + const incoming = dedupeTracks(tracks).filter((t) => t?.src); if (incoming.length === 0) return; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f193ae1..4d69231 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,6 +2,7 @@ import "./layout.css"; import favicon from "$lib/assets/favicon.svg"; import GlobalPlayer from "$lib/components/GlobalPlayer.svelte"; + import ClientOnly from "$lib/components/util/ClientOnly.svelte"; let { children } = $props(); @@ -10,4 +11,8 @@ >AMQ Train {@render children()} - + + {#snippet children()} + + {/snippet} +