|
|
@@ -146,15 +146,13 @@ function renderFeedsList() {
|
|
|
var html = '<div style="margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center">' +
|
|
|
'<span style="font-size:.82rem;color:var(--text-dim)">' + enabledCount + ' / ' + _feedsData.length + ' feeds enabled</span>' +
|
|
|
'<button onclick="loadFeeds()" style="font-size:.75rem;padding:.25rem .6rem;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer">↻ Refresh</button>' +
|
|
|
- '</div>';
|
|
|
- html += '<div class="feed-toggle-list">';
|
|
|
- // Table header
|
|
|
- html += '<div class="feed-toggle-header">' +
|
|
|
- '<div class="feed-col-check">Enable</div>' +
|
|
|
- '<div class="feed-col-check">Re-enrich</div>' +
|
|
|
- '<div class="feed-col-url">Feed URL</div>' +
|
|
|
- '<div class="feed-col-hint">Last seen</div>' +
|
|
|
'</div>';
|
|
|
+ html += '<table class="feeds-table"><thead><tr>' +
|
|
|
+ '<th class="col-check">Enable</th>' +
|
|
|
+ '<th class="col-check">Re-enrich</th>' +
|
|
|
+ '<th class="col-url">Feed URL</th>' +
|
|
|
+ '<th class="col-hint">Last seen</th>' +
|
|
|
+ '</tr></thead><tbody>';
|
|
|
for (var i = 0; i < _feedsData.length; i++) {
|
|
|
var f = _feedsData[i];
|
|
|
var domain = f.feed_key.replace(/^https?:\/\//, '').replace(/\/$/, '');
|
|
|
@@ -162,20 +160,16 @@ function renderFeedsList() {
|
|
|
var lastSeen = f.updated_at ? ' · ' + new Date(f.updated_at).toLocaleString() : '';
|
|
|
var isEnabled = f.enabled !== false;
|
|
|
var isReEnrich = f.re_enrich === true;
|
|
|
- html += '<div class="feed-toggle-row">' +
|
|
|
- '<div class="feed-col-check">' +
|
|
|
- '<input type="checkbox" id="feed-' + esc(String(i)) + '"' + (isEnabled ? ' checked' : '') +
|
|
|
- ' onchange="toggleFeed(\'' + esc(f.feed_key) + '\', this.checked)" />' +
|
|
|
- '</div>' +
|
|
|
- '<div class="feed-col-check">' +
|
|
|
- '<input type="checkbox" id="re-enrich-' + esc(String(i)) + '"' + (isReEnrich ? ' checked' : '') +
|
|
|
- ' onchange="toggleReEnrich(\'' + esc(f.feed_key) + '\', this.checked)" title="Re-enrich on content change" />' +
|
|
|
- '</div>' +
|
|
|
- '<div class="feed-col-url">' + esc(domain) + '</div>' +
|
|
|
- '<div class="feed-col-hint">' + lastItems + lastSeen + '</div>' +
|
|
|
- '</div>';
|
|
|
+ html += '<tr>' +
|
|
|
+ '<td class="col-check"><input type="checkbox" id="feed-' + esc(String(i)) + '"' + (isEnabled ? ' checked' : '') +
|
|
|
+ ' onchange="toggleFeed(\'' + esc(f.feed_key) + '\', this.checked)" /></td>' +
|
|
|
+ '<td class="col-check"><input type="checkbox" id="re-enrich-' + esc(String(i)) + '"' + (isReEnrich ? ' checked' : '') +
|
|
|
+ ' onchange="toggleReEnrich(\'' + esc(f.feed_key) + '\', this.checked)" title="Re-enrich on content change" /></td>' +
|
|
|
+ '<td class="col-url">' + esc(domain) + '</td>' +
|
|
|
+ '<td class="col-hint">' + lastItems + lastSeen + '</td>' +
|
|
|
+ '</tr>';
|
|
|
}
|
|
|
- html += '</div>';
|
|
|
+ html += '</tbody></table>';
|
|
|
el.innerHTML = html;
|
|
|
}
|
|
|
|