global player pt. 5 client only

This commit is contained in:
2026-02-06 01:53:17 -08:00
parent ccf3a6bc1f
commit a85441faa7
3 changed files with 42 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
<script lang="ts">
import { onMount } from "svelte";
type ClientOnlyProps = {
/**
* If true, render `fallback` content until the component mounts on the client.
* Defaults to true.
*/
showFallback?: boolean;
/**
* Main content to render once mounted (client-only).
*/
children: import("svelte").Snippet;
/**
* Optional fallback content to render during SSR / before mount.
*/
fallback?: import("svelte").Snippet;
};
let { showFallback = true, children, fallback }: ClientOnlyProps = $props();
let mounted = $state(false);
onMount(() => {
mounted = true;
});
</script>
{#if mounted}
{@render children()}
{:else if showFallback && fallback}
{@render fallback()}
{/if}

View File

@@ -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;