global player pt. 12 sidebar shenanigans

This commit is contained in:
2026-02-06 02:28:59 -08:00
parent 2801ca7a9a
commit 9a193399ea
2 changed files with 47 additions and 41 deletions

View File

@@ -10,9 +10,32 @@
<svelte:head
><link rel="icon" href={favicon} /><title>AMQ Train</title></svelte:head
>
{@render children()}
<ClientOnly showFallback={false}>
{#snippet children()}
<GlobalPlayer />
{/snippet}
</ClientOnly>
<!--
App shell:
- Mobile/tablet: single column, player renders client-only (mobile bar/drawer)
- Desktop: 2-column grid, right column reserved for the in-flow player sidebar
-->
<div class="min-h-dvh lg:grid gap-16 lg:grid-cols-[1fr_340px]">
<main>
{@render children()}
</main>
<!-- Desktop sidebar column (in normal flow) -->
<aside class="hidden lg:block">
<ClientOnly showFallback={false}>
{#snippet children()}
<GlobalPlayer />
{/snippet}
</ClientOnly>
</aside>
</div>
<!-- Mobile player (client-only, overlays via fixed positioning inside GlobalPlayer) -->
<div class="lg:hidden">
<ClientOnly showFallback={false}>
{#snippet children()}
<GlobalPlayer />
{/snippet}
</ClientOnly>
</div>