From 54ad82f09b450de5eb7012cbef844a10ff90d570 Mon Sep 17 00:00:00 2001 From: InstaZDLL Date: Mon, 25 May 2026 23:29:03 +0200 Subject: [PATCH] fix(queue-panel): let the Up Next list fill the available height MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Up Next scroll container carried a `max-h-[55vh]` cap that truncated the rendered virtualized list to ~55% of the viewport, leaving a visible empty band between the last row and the volume controls at the bottom of the panel — most obvious on 1080p+ displays where the panel had hundreds of px of unused vertical space. Worse, the parent content wrapper also had `overflow-y-auto` so the nested cap was producing two independent scrollers: the inner one maxed at 55vh, then scrolling further engaged the outer one, with no visual cue that the user had crossed from one to the other. Restructure the inner column as a proper flex stack: - Content wrapper switches from `overflow-y-auto` to `flex flex-col min-h-0` so its children flow as flex items. - Radio banner + Now Playing section pin to their natural height via `shrink-0`. - Up Next section becomes `flex-1 flex flex-col min-h-0`, and its inner virtualizer scroll element trades the `max-h-[55vh]` cap for `flex-1 min-h-0 overflow-y-auto` so it consumes everything left over after the eyebrow. Net result: one scroller, fills the panel down to the volume strip, no truncation regardless of viewport size. --- src/components/layout/QueuePanel.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/layout/QueuePanel.tsx b/src/components/layout/QueuePanel.tsx index eb82526..7398190 100644 --- a/src/components/layout/QueuePanel.tsx +++ b/src/components/layout/QueuePanel.tsx @@ -212,9 +212,9 @@ export function QueuePanel() {

) : ( -
+
{snapshot?.source_type === "radio" && items[0] && ( -
+
@@ -229,7 +229,7 @@ export function QueuePanel() {
)} {nowPlaying && ( -
+
{t("queue.nowPlaying")}
@@ -237,7 +237,7 @@ export function QueuePanel() {
)} {upNext.length > 0 && ( -
+
{t("queue.upNext", { count: upNext.length })}
@@ -394,7 +394,7 @@ function SortableUpNext({