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) && (