Compare commits

...

1 Commits

Author SHA1 Message Date
jared 7b4c263a40 Cleanup: fix eslint warnings, button loading state, inspector footer hint
Lint / Python (flake8) (push) Successful in 45s
Lint / JS (eslint) (push) Successful in 7s
Security / Python Security (bandit) (push) Successful in 42s
Test / Python Tests (pytest) (push) Successful in 51s
Lint / Notify on failure (push) Has been skipped
Lint / Deploy (push) Successful in 3s
- app.js: replace != with !== (eqeqeq rule) on resolved_24h null check
  and totalActive pagination check
- style.css: extend loading state to all .lt-btn.is-loading (not just
  refresh button), so suppressions form submit shows disabled feedback;
  remove dead .link-collapse-bar rule
- base.html: add inspector page to footer R=REFRESH hint; update
  keyboard shortcut table to include Inspector in refresh shortcut doc

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 22:42:40 -04:00
3 changed files with 10 additions and 8 deletions
+2 -2
View File
@@ -95,7 +95,7 @@ function updateStatusBar(summary, lastCheck, daemonOk) {
const scRes = document.getElementById('stat-resolved-val');
if (scCrit) scCrit.textContent = critCount;
if (scWarn) scWarn.textContent = warnCount;
if (scRes && summary.resolved_24h != null) scRes.textContent = summary.resolved_24h;
if (scRes && summary.resolved_24h !== null && summary.resolved_24h !== undefined) scRes.textContent = summary.resolved_24h;
const statCritCard = document.getElementById('stat-critical');
if (statCritCard) statCritCard.classList.toggle('lt-stat-card--alert', critCount > 0);
@@ -207,7 +207,7 @@ function updateEventsTable(events, totalActive) {
return;
}
const truncated = totalActive != null && totalActive > active.length;
const truncated = totalActive !== null && totalActive !== undefined && totalActive > active.length;
const countNotice = truncated
? `<div class="pagination-notice">Showing ${active.length} of ${totalActive} active alerts &mdash; <a href="/api/events?limit=1000">view all via API</a></div>`
: '';
+6 -4
View File
@@ -83,13 +83,16 @@
.lt-main.lt-container { padding-top: calc(46px + var(--space-sm)); }
}
/* ── Refresh button loading state ────────────────────────────────── */
[data-action="refresh"].is-loading {
/* ── Button loading state ─────────────────────────────────────────── */
[data-action="refresh"].is-loading,
.lt-btn.is-loading {
opacity: .5;
pointer-events: none;
cursor: wait;
position: relative;
}
[data-action="refresh"].is-loading::after {
[data-action="refresh"].is-loading::after,
.lt-btn.is-loading::after {
content: '…';
}
@@ -587,7 +590,6 @@
.panel-toggle { font-size: .65em; color: var(--text-muted); flex-shrink: 0; margin-left: 6px; padding: 0 4px; border: 1px solid var(--border-color); }
.link-host-panel.collapsed > .link-ifaces-grid { display: none; }
.link-collapse-bar { display: flex; gap: 8px; margin-bottom: 10px; }
.link-ifaces-grid {
display: grid;
+2 -2
View File
@@ -210,7 +210,7 @@
<span class="lt-footer-sep">|</span>
<span class="lt-footer-hint"><span class="lt-footer-key">[ S ]</span> SUPPRESS</span>
<span class="lt-footer-sep">|</span>
{% elif request.endpoint == 'links_page' %}
{% elif request.endpoint in ('links_page', 'inspector') %}
<span class="lt-footer-hint"><span class="lt-footer-key">[ R ]</span> REFRESH</span>
<span class="lt-footer-sep">|</span>
{% endif %}
@@ -233,7 +233,7 @@
<thead><tr><th>Shortcut</th><th>Action</th></tr></thead>
<tbody>
<tr><td>Ctrl / &#x2318; + K</td><td>Command palette</td></tr>
<tr><td>R</td><td>Refresh data (Dashboard / Link Debug)</td></tr>
<tr><td>R</td><td>Refresh data (Dashboard / Link Debug / Inspector)</td></tr>
<tr><td>S</td><td>Quick-suppress alert (Dashboard)</td></tr>
<tr><td>*</td><td>Open settings</td></tr>
<tr><td>?</td><td>Show this help</td></tr>