+20
-16
frontend/src/routes/+layout.svelte
+20
-16
frontend/src/routes/+layout.svelte
···
24
24
$page.url.pathname.match(/^\/u\/[^/]+\/album\/[^/]+/) // album pages have specific metadata
25
25
);
26
26
27
+
let isEmbed = $derived($page.url.pathname.startsWith('/embed/'));
28
+
27
29
// sync auth state from layout data (fetched by +layout.ts)
28
30
$effect(() => {
29
31
if (browser) {
···
149
151
</svelte:head>
150
152
151
153
<div class="app-layout">
152
-
<main class="main-content" class:with-queue={showQueue}>
154
+
<main class="main-content" class:with-queue={showQueue && !isEmbed}>
153
155
{@render children?.()}
154
156
</main>
155
157
156
-
{#if showQueue}
158
+
{#if showQueue && !isEmbed}
157
159
<aside class="queue-sidebar">
158
160
<Queue />
159
161
</aside>
160
162
{/if}
161
163
</div>
162
164
163
-
<button
164
-
class="queue-toggle"
165
-
onclick={toggleQueue}
166
-
aria-pressed={showQueue}
167
-
aria-label="toggle queue (Q)"
168
-
title={showQueue ? 'hide queue (Q)' : 'show queue (Q)'}
169
-
>
170
-
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
171
-
<line x1="3" y1="6" x2="21" y2="6"></line>
172
-
<line x1="3" y1="12" x2="21" y2="12"></line>
173
-
<line x1="3" y1="18" x2="21" y2="18"></line>
174
-
</svg>
175
-
</button>
165
+
{#if !isEmbed}
166
+
<button
167
+
class="queue-toggle"
168
+
onclick={toggleQueue}
169
+
aria-pressed={showQueue}
170
+
aria-label="toggle queue (Q)"
171
+
title={showQueue ? 'hide queue (Q)' : 'show queue (Q)'}
172
+
>
173
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
174
+
<line x1="3" y1="6" x2="21" y2="6"></line>
175
+
<line x1="3" y1="12" x2="21" y2="12"></line>
176
+
<line x1="3" y1="18" x2="21" y2="18"></line>
177
+
</svg>
178
+
</button>
176
179
177
-
<Player />
180
+
<Player />
181
+
{/if}
178
182
<Toast />
179
183
180
184
<style>
+1
-1
frontend/src/routes/embed/track/[id]/+page.svelte
+1
-1
frontend/src/routes/embed/track/[id]/+page.svelte
···
106
106
margin: 0;
107
107
padding: 0;
108
108
overflow: hidden;
109
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
109
+
font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Consolas', monospace;
110
110
background: #000;
111
111
color: #fff;
112
112
}