diff --git a/app.py b/app.py index a4036ad..d52f600 100644 --- a/app.py +++ b/app.py @@ -130,6 +130,7 @@ def index(): last_check = db.get_state('last_check', 'Never') snapshot = json.loads(snapshot_raw) if snapshot_raw else {} suppressions = db.get_active_suppressions() + recent_resolved = db.get_recent_resolved(hours=24, limit=10) return render_template( 'index.html', user=user, @@ -138,6 +139,7 @@ def index(): snapshot=snapshot, last_check=last_check, suppressions=suppressions, + recent_resolved=recent_resolved, ) diff --git a/static/style.css b/static/style.css index 9735f8e..65d5662 100644 --- a/static/style.css +++ b/static/style.css @@ -1524,3 +1524,73 @@ a:hover { text-decoration: underline; text-shadow: var(--glow-amber); } border-radius: 2px; font-size: .88em; } + +/* ── Link health summary panel ────────────────────────────────────── */ +.link-summary-panel { + background: var(--bg2); + border: 1px solid var(--border); + border-radius: 2px; + padding: 12px 16px; + margin-bottom: 12px; +} + +.link-summary-panel.link-summary-has-alerts { + border-color: var(--amber); +} + +.link-summary-grid { + display: flex; + flex-wrap: wrap; + gap: 20px; + align-items: flex-end; +} + +.link-summary-stat { + min-width: 80px; +} + +.link-summary-stat.lss-alert .lss-label { + color: var(--amber); +} + +.lss-label { + display: block; + font-size: .62em; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: .05em; + margin-bottom: 2px; +} + +.lss-value { + font-size: 1.2em; + font-weight: bold; + color: var(--text); +} + +.lss-sub { + font-size: .7em; + color: var(--text-muted); + font-weight: normal; +} + +/* ── Recently resolved table ──────────────────────────────────────── */ +.row-resolved td { + opacity: 0.75; +} + +.badge-resolved { + background: var(--bg3); + color: var(--text-muted); + border-color: var(--border); + text-decoration: line-through; +} + +.section-badge-resolved { + background: var(--bg3); + color: var(--text-muted); + border: 1px solid var(--border); + font-size: .65em; + padding: 2px 7px; + border-radius: 10px; +} diff --git a/templates/index.html b/templates/index.html index 3f8ce62..49d9eb1 100644 --- a/templates/index.html +++ b/templates/index.html @@ -250,6 +250,44 @@ + +{% if recent_resolved %} +
+
+

Recently Resolved

+ {{ recent_resolved | length }} in last 24h +
+
+ + + + + + + + + + + + + {% for e in recent_resolved %} + + + + + + + + + {% endfor %} + +
SevTypeTargetDetailResolvedDuration
{{ e.severity }}{{ e.event_type | replace('_', ' ') }}{{ e.target_name }}{{ e.target_detail or '–' }} + {{ e.resolved_at }} +
+
+
+{% endif %} +