diff --git a/web/src/lib/components/QueueDrawer.svelte b/web/src/lib/components/QueueDrawer.svelte
index 924b3f26..075c52f4 100644
--- a/web/src/lib/components/QueueDrawer.svelte
+++ b/web/src/lib/components/QueueDrawer.svelte
@@ -1,18 +1,10 @@
+
+
+
+
+
Queue
+
+ {player.queue.length} {player.queue.length === 1 ? 'track' : 'tracks'}
+ {#if player.queue.length > 0} · {totalDurationLabel(player.queue)}{/if}
+
+
+ {#if onClose}
+
+ {/if}
+
+
+
+ {#if player.queue.length === 0}
+
No tracks queued.
+ {:else}
+ {#each player.queue as track, i (track.id)}
+
+ {/each}
+ {/if}
+
+
diff --git a/web/src/routes/now-playing/+page.svelte b/web/src/routes/now-playing/+page.svelte
index ad963b81..03aa9841 100644
--- a/web/src/routes/now-playing/+page.svelte
+++ b/web/src/routes/now-playing/+page.svelte
@@ -16,6 +16,7 @@
import { FALLBACK_COVER, coverUrl } from '$lib/media/covers';
import { useSmoothPosition } from '$lib/player/smoothPosition.svelte';
import LikeButton from '$lib/components/LikeButton.svelte';
+ import QueueList from '$lib/components/QueueList.svelte';
import { pageTitle } from '$lib/branding';
const current = $derived(player.current);
@@ -89,7 +90,13 @@
{:else}
-
+
+
+
{player.queue.length}
+
+
{/if}