serve project files by token hash, preview images inline and download other files

This commit is contained in:
dev
2026-09-06 11:33:33 +03:00
parent 034c92b160
commit bd396195a8
5 changed files with 45 additions and 13 deletions
+7 -1
View File
@@ -107,10 +107,16 @@ let totalEntries = 0;
let searchTimer = null;
let view = localStorage.getItem('journalView') === 'cards' ? 'cards' : 'list';
function isImageFile(name) {
return /\.(jpe?g|png|gif|webp|bmp|avif|svg|ico)$/i.test(name || '');
}
function filesHTML(files) {
if (!files || !files.length) return '';
return `<div class="entry-files">${files.map(f =>
`<a href="${API}/api/files/${f.id}" download>${esc(f.name)}</a>`
isImageFile(f.name)
? `<a class="f-img" href="${API}/api/files/${f.token}" target="_blank" title="${esc(f.name)}"><img src="${API}/api/files/${f.token}" alt="${esc(f.name)}"></a>`
: `<a class="f-link" href="${API}/api/files/${f.token}" download title="${esc(f.name)}"><span>${esc(f.name)}</span></a>`
).join('')}</div>`;
}