diff --git a/frontend/templates/files.html b/frontend/templates/files.html index a6e9c2f1..b9b57225 100644 --- a/frontend/templates/files.html +++ b/frontend/templates/files.html @@ -815,18 +815,26 @@ overlay.classList.add('active'); document.body.style.overflow = 'hidden'; - const previewUrl = `/api/files/${fileId}/preview?version=processed`; - footer.innerHTML = ` Full view` + ` Download`; + // Try "processed" first; fall back to "original" on 404 + _pmLoadPreview(body, fileId, mime, filename, 'processed'); + } + + function _pmLoadPreview(body, fileId, mime, filename, version) { + const previewUrl = `/api/files/${fileId}/preview?version=${version}`; if (mime && mime.startsWith('image/')) { _pmRenderImage(body, previewUrl, filename); } else if (mime && mime.startsWith('text/')) { - _pmRenderText(body, previewUrl); + _pmRenderText(body, previewUrl, function() { + if (version === 'processed') _pmLoadPreview(body, fileId, mime, filename, 'original'); + }); } else { - _pmRenderPdf(body, previewUrl); + _pmRenderPdf(body, previewUrl, function() { + if (version === 'processed') _pmLoadPreview(body, fileId, mime, filename, 'original'); + }); } } @@ -838,7 +846,7 @@ } // PDF rendering inside preview modal - function _pmRenderPdf(body, url) { + function _pmRenderPdf(body, url, onError) { body.innerHTML = '
Failed to load PDF