From e02ea12494631c182e9c84c9dcfcde6912735503 Mon Sep 17 00:00:00 2001 From: Mattias Thall Date: Tue, 26 May 2026 23:33:26 +0200 Subject: [PATCH] Add hover popover to nav download indicator Shows each active download (title + progress bar) and background task (label, phase, done/total + bar) on hover. Pure CSS group-hover, no JS state. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/components/Layout.jsx | 65 +++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx index fda6dfd..db2f002 100644 --- a/frontend/src/components/Layout.jsx +++ b/frontend/src/components/Layout.jsx @@ -114,20 +114,57 @@ function DownloadIndicator() { } return ( - 1 ? "s" : ""} in progress`} - > - - - - - {label} - {totalActive > 1 && ( - +{totalActive - 1} - )} - +
+ + + + + + {label} + {totalActive > 1 && ( + +{totalActive - 1} + )} + + + {/* Hover popover */} +
+
+ {activeDownloads.map((d) => ( +
+
+

{d.video_title || "Downloading…"}

+ {(d.progress_percent ?? 0).toFixed(0)}% +
+
+
+
+
+ ))} + {tasks.map((task) => { + const pct = task.total > 0 ? (task.done / task.total) * 100 : 0; + return ( +
+
+

{task.label}

+ {task.total > 0 && ( + {task.done}/{task.total} + )} +
+

{task.phase || "Running…"}

+
+
+
+
+ ); + })} +
+
+
); }