From 8f86a71c396eb118f724476c89ad263b9e1ceb2e Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Sun, 2 Nov 2025 14:27:13 +0100 Subject: [PATCH] fix --- frontend/src/detail/DetailPanel.jsx | 34 ++++++++++++++++++++++-- frontend/src/styles.css | 40 +++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/frontend/src/detail/DetailPanel.jsx b/frontend/src/detail/DetailPanel.jsx index 3927533..062b8d8 100644 --- a/frontend/src/detail/DetailPanel.jsx +++ b/frontend/src/detail/DetailPanel.jsx @@ -49,6 +49,7 @@ const PreviewStack = ({ items = [], maxItems = MAX_PREVIEW_STACK_ITEMS, emptyMessage = 'Preview unavailable', + emptyContent = null, onItemActivate, onOpenPreview, onZoomPreview, @@ -65,7 +66,11 @@ const PreviewStack = ({ ); if (!limited.length) { - return {emptyMessage}; + return ( +
+ {emptyContent || {emptyMessage}} +
+ ); } return ( @@ -684,6 +689,30 @@ const DetailPanel = ({ const canGoPrev = singlePreviewNavigator.canGoPrev; const canGoNext = singlePreviewNavigator.canGoNext; const hasPreviewImage = Boolean(singlePreviewNavigator.currentUrl); + const previewMissingAsset = !singleNavigatorAsset; + const displayContentType = singleDoc.content_type || 'this file type'; + const displayFilename = + singleDoc.filename || singleDoc.original_name || singleDoc.title || 'download'; + const previewFallback = previewMissingAsset ? ( +
+
+ Preview not available for {displayContentType} files. +
+
{displayFilename}
+ {singleDownloadHref ? ( + + + Download + + ) : null} +
+ ) : null; + const emptyMessage = previewMissingAsset ? 'Preview unavailable' : 'Preview loading…'; const interceptNavPointer = (event) => { event.preventDefault(); event.stopPropagation(); @@ -695,7 +724,8 @@ const DetailPanel = ({