diff --git a/public/admin/assets/css/intel.css b/public/admin/assets/css/intel.css index f8b4c1a..c2c39c3 100644 --- a/public/admin/assets/css/intel.css +++ b/public/admin/assets/css/intel.css @@ -533,6 +533,14 @@ body.page-graph #graph-info { padding: 2px 6px; } +.signal-card-ts { + font-size: 10.5px; + color: var(--muted-dark); + letter-spacing: .02em; + padding-top: 6px; + border-top: 1px dashed var(--border); +} + .signal-badge { display: inline-flex; align-items: center; diff --git a/public/admin/assets/js/intel-signals.js b/public/admin/assets/js/intel-signals.js index c71eee2..4487da4 100644 --- a/public/admin/assets/js/intel-signals.js +++ b/public/admin/assets/js/intel-signals.js @@ -29,10 +29,12 @@ async function loadSignals() { empty.style.display = "none"; - // glance tile — header, a short summary preview, and the three meta tags - // (conf/risk/timeframe). drivers, risks, refs etc live in the dialog. + // glance tile — header, a short summary preview, the three meta tags + // (conf/risk/timeframe), and the generated-at stamp. drivers, risks, + // refs etc live in the dialog. grid.innerHTML = data.map(s => { const summary = (s.summary || "").trim(); + const ts = s.generated_at ? s.generated_at.slice(0, 16).replace("T", " ") : ""; return `
@@ -51,6 +53,8 @@ async function loadSignals() { risk: ${escapeHtml(s.risk_level)} ${escapeHtml(s.timeframe)}
+ + ${ts ? `
Generated ${escapeHtml(ts)}
` : ""} `; }).join("");