From 5b5c3453d2c1a1bf20770e5b575cb8bcb336cb6c Mon Sep 17 00:00:00 2001
From: Garret Patti <42485635+garretpatti@users.noreply.github.com>
Date: Wed, 15 Apr 2026 08:30:41 -0400
Subject: [PATCH] add download buttons to tv
---
src/components/mixed/ImageLightbox.tsx | 24 ++++++++++++-----------
src/components/mixed/VideoPlayerModal.tsx | 24 ++++++++++++-----------
src/components/tv/EpisodeCard.tsx | 18 +++++++++++++++--
src/components/tv/TvView.tsx | 1 +
4 files changed, 43 insertions(+), 24 deletions(-)
diff --git a/src/components/mixed/ImageLightbox.tsx b/src/components/mixed/ImageLightbox.tsx
index 3d045fa..12316b2 100644
--- a/src/components/mixed/ImageLightbox.tsx
+++ b/src/components/mixed/ImageLightbox.tsx
@@ -325,17 +325,19 @@ export default function ImageLightbox({ url, name, onClose, onPrev, onNext, item
🏷
)}
-
+ {!showTags && (
+
+ )}
{/* Text display button — bottom-right, hidden when panel open */}
diff --git a/src/components/mixed/VideoPlayerModal.tsx b/src/components/mixed/VideoPlayerModal.tsx
index 5caea0e..2769901 100644
--- a/src/components/mixed/VideoPlayerModal.tsx
+++ b/src/components/mixed/VideoPlayerModal.tsx
@@ -100,17 +100,19 @@ export default function VideoPlayerModal({ url, name, onClose, onPrev, onNext, i
🏷
)}
-
+ {!showTags && (
+
+ )}
diff --git a/src/components/tv/EpisodeCard.tsx b/src/components/tv/EpisodeCard.tsx
index 7405e65..f8aff55 100644
--- a/src/components/tv/EpisodeCard.tsx
+++ b/src/components/tv/EpisodeCard.tsx
@@ -9,9 +9,10 @@ interface Props {
onTag?: () => void
onDelete?: () => void
onRename?: (newName: string) => Promise
+ downloadUrl?: string
}
-export default function EpisodeCard({ episode, onClick, onTag, onDelete, onRename }: Props) {
+export default function EpisodeCard({ episode, onClick, onTag, onDelete, onRename, downloadUrl }: Props) {
const epLabel = episode.episodeNumber !== null ? `E${String(episode.episodeNumber).padStart(2, '0')}` : null
const menuRef = useRef(null)
const [menuOpen, setMenuOpen] = useState(false)
@@ -79,7 +80,7 @@ export default function EpisodeCard({ episode, onClick, onTag, onDelete, onRenam
)}
{/* Kebab menu */}
- {onDelete && (
+ {(onDelete || downloadUrl) && (