This commit is contained in:
2025-11-02 14:27:13 +01:00
parent 1cddc3c373
commit 8f86a71c39
2 changed files with 72 additions and 2 deletions
+32 -2
View File
@@ -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 <span className="meta">{emptyMessage}</span>;
return (
<div className="preview-stack preview-stack--empty">
{emptyContent || <span className="meta">{emptyMessage}</span>}
</div>
);
}
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 ? (
<div className="preview-pane__unsupported">
<div className="preview-pane__unsupported-message">
Preview not available for {displayContentType} files.
</div>
<div className="preview-pane__unsupported-filename">{displayFilename}</div>
{singleDownloadHref ? (
<a
className="button-link preview-pane__unsupported-download"
href={singleDownloadHref}
target="_blank"
rel="noopener noreferrer"
>
<DownloadIcon />
<span>Download</span>
</a>
) : null}
</div>
) : null;
const emptyMessage = previewMissingAsset ? 'Preview unavailable' : 'Preview loading…';
const interceptNavPointer = (event) => {
event.preventDefault();
event.stopPropagation();
@@ -695,7 +724,8 @@ const DetailPanel = ({
<PreviewStack
items={singlePreviewItems}
maxItems={1}
emptyMessage="Preview loading…"
emptyMessage={emptyMessage}
emptyContent={previewFallback}
onItemActivate={handlePreviewActivate}
onOpenPreview={onOpenPreview}
onZoomPreview={handleSingleZoom}