Owner override postdating PR #300 QA pass: - .col-url 340 -> 230px; reclaim slack from history-only columns (Views 96->90, Created 190->150, ID 190->120) so the table fits the .float pane with no horizontal scroll at 1400x900 and the ID column is fully visible. - URL anchors drop the shared .slug pill (background/padding/radius/mono font) and render plain, styled via td.dim exactly like the none case; links stay anchors with accent hover. Ellipsis kept for genuinely long slugs. Verified by CDP probe on a local build at 1400x900 and 375x812 on /public and /mine (/saved): column order, table fits pane (scrollWidth == clientWidth), 20-char slug fully visible, min Created-to-URL content gap 77px, sort arrows intact 6px right of labels, no CSP/console violations. go build/test pass.
21 lines
1.2 KiB
JavaScript
21 lines
1.2 KiB
JavaScript
// #139: public history table + 30s auto-refresh.
|
|
const t = PaletteTable.init({
|
|
endpoint: '/api/public',
|
|
perPage: 25,
|
|
hasPager: true,
|
|
rowHtml: it =>
|
|
`<tr class="row" data-href="/${t.esc(it.id)}"><td>` +
|
|
(it.title
|
|
? `<a class="paste-name" href="/${t.esc(it.id)}">${t.esc(it.title)}</a>${it.is_can ? ' <span class="badge" title="Can — bundle of items">can</span>' : ''}`
|
|
: `<a class="slug paste-name" href="/${t.esc(it.id)}">${t.esc(it.id)}</a>${it.is_can ? ' <span class="badge" title="Can — bundle of items">can</span>' : ''}`) +
|
|
`</td>` +
|
|
`<td><span class="badge">${t.esc(it.type || it.language || 'text')}</span></td>` +
|
|
`<td class="dim">${t.fmtSize(it.size)}</td><td class="dim">${it.view_count}</td><td class="dim" data-ts="${it.created_at}">${t.ago(it.created_at)}</td>` +
|
|
(it.custom_slug ? `<td class="dim"><a class="url-link" href="/${t.esc(it.custom_slug)}">/${t.esc(it.custom_slug)}</a></td>` : `<td class="dim">none</td>`) +
|
|
`<td class="dim"><a class="id-link" href="/${t.esc(it.id)}">${t.esc(it.id)}</a></td></tr>`,
|
|
emptyFiltered: 'No pastes match your search.',
|
|
emptyAll: 'No pastes yet. Create the first one.',
|
|
});
|
|
t.load();
|
|
setInterval(t.load, 30000); // auto-refresh history every 30s
|