From a117184a2aaf76d75b0826e1f7f420d88e79a013 Mon Sep 17 00:00:00 2001 From: dev Date: Sun, 6 Sep 2026 11:35:40 +0300 Subject: [PATCH] make project file tokens public; keep name links with image preview and file download --- public/admin.css | 7 +------ public/journal.html | 4 ++-- server.js | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/public/admin.css b/public/admin.css index 0240317..3f6f1ca 100644 --- a/public/admin.css +++ b/public/admin.css @@ -45,15 +45,10 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b .card .group{color:var(--accent);font-size:.8rem;margin-top:2px} .card .desc{color:var(--muted);font-size:.85rem;margin-top:8px;line-height:1.4;white-space:pre-wrap} .card .time{color:var(--muted);font-size:.75rem;margin-top:8px} -.entry-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center} +.entry-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px} .entry-files a{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border:1px solid var(--border);color:var(--text);text-decoration:none;border-radius:6px;padding:4px 8px;font-size:.75rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .entry-files a:hover{border-color:var(--accent);color:var(--accent)} .entry-files a::before{content:'๐Ÿ“Ž'} -.entry-files a.f-link{background:var(--bg);border:1px solid var(--border)} -.entry-files a.f-img{padding:2px;background:var(--card);border:1px solid var(--border)} -.entry-files a.f-img::before{content:none} -.entry-files a.f-img img{display:block;width:56px;height:42px;object-fit:cover;border-radius:4px} -.entry-files a.f-img:hover{border-color:var(--accent)} .card .del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:4px;flex-shrink:0} .card .del:hover{color:#ef4444} .card .edit{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.05rem;padding:4px;flex-shrink:0} diff --git a/public/journal.html b/public/journal.html index 24bb0a3..a09f13b 100644 --- a/public/journal.html +++ b/public/journal.html @@ -115,8 +115,8 @@ function filesHTML(files) { if (!files || !files.length) return ''; return `
${files.map(f => isImageFile(f.name) - ? `${esc(f.name)}` - : `${esc(f.name)}` + ? `${esc(f.name)}` + : `${esc(f.name)}` ).join('')}
`; } diff --git a/server.js b/server.js index aa1d213..89438fb 100644 --- a/server.js +++ b/server.js @@ -505,7 +505,7 @@ function isImageName(name) { return /\.(jpe?g|png|gif|webp|bmp|avif|svg|ico)$/i.test(name || ''); } -app.get('/api/files/:token', requireAdmin, async (req, res) => { +app.get('/api/files/:token', async (req, res) => { const { rows } = await pool.query('SELECT path, name FROM project_files WHERE token = $1', [req.params.token]); if (!rows.length) return res.status(404).json({ error: 'Not found' }); const r = rows[0];