refactor button elements; change button types for search and filter actions in admin pages

This commit is contained in:
ImBenji 2026-04-23 23:40:44 +01:00
parent eedd499262
commit 16cd61fdf5
6 changed files with 21 additions and 24 deletions

View file

@ -33,19 +33,16 @@
/* ── intel stats row (the 6-up on intel pages) ──────────────────────────── */
/* one integrated strip with edge-to-edge separators, mirrors the top
stats-bar. we wrap the ordinary .intel-stat-card children and strip
their individual borders + radius so the container reads as one unit. */
/* lives outside .content so it spans edge-to-edge, matching the top
stats-bar exactly: flat strip, bottom border, vertical separators
between cells. kept distinct from the stats.html throughput tiles
which deliberately still read as standalone cards. */
#intel-stats-row {
display: flex;
flex-wrap: wrap;
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
overflow: hidden;
margin-bottom: 24px;
gap: 0;
border-bottom: 1px solid var(--border);
}
#intel-stats-row .intel-stat-card {
@ -53,14 +50,13 @@
border: none;
border-radius: 0;
border-right: 1px solid var(--border);
padding: 16px 28px;
padding: 14px 28px;
flex: 0 0 auto;
min-width: 140px;
}
#intel-stats-row .intel-stat-card:last-child {
border-right: none;
}
#intel-stats-row .intel-stat-card:first-child { padding-left: 24px; }
#intel-stats-row .intel-stat-card:last-child { border-right: none; }
/* ── intel detail body (modal) ── */

View file

@ -7,18 +7,19 @@ async function loadIntelStatsRow() {
if (!row) return true;
const data = await api("/admin/api/intelligence/stats");
const notice = document.getElementById("intel-unavailable");
const content = document.getElementById("intel-content");
if (!data.available) {
const notice = document.getElementById("intel-unavailable");
const content = document.getElementById("intel-content");
if (notice) notice.style.display = "";
if (content) content.style.display = "none";
row.style.display = "none"; // hide the full-width stats strip too
return false;
}
const notice = document.getElementById("intel-unavailable");
const content = document.getElementById("intel-content");
if (notice) notice.style.display = "none";
if (content) content.style.display = "";
row.style.display = "";
const queueMap = {};
(data.queue || []).forEach(r => queueMap[r.status] = r.n);

View file

@ -29,6 +29,8 @@
<a href="/admin/intelligence/graph" class="active">Graph</a>
</nav>
<div id="intel-stats-row"></div>
<main class="content">
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
@ -36,8 +38,6 @@
</div>
<div id="intel-content">
<div id="intel-stats-row"></div>
<div id="intel-graph-layout">
<div id="intel-graph-svg-wrap">
<svg id="intel-graph-svg"></svg>

View file

@ -29,6 +29,8 @@
<a href="/admin/intelligence/graph">Graph</a>
</nav>
<div id="intel-stats-row"></div>
<main class="content">
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
@ -36,8 +38,6 @@
</div>
<div id="intel-content">
<div id="intel-stats-row"></div>
<div class="filters">
<label>Company
<select id="i-company"><option value="">All companies</option></select>

View file

@ -29,6 +29,8 @@
<a href="/admin/intelligence/graph">Graph</a>
</nav>
<div id="intel-stats-row"></div>
<main class="content">
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
@ -36,8 +38,6 @@
</div>
<div id="intel-content">
<div id="intel-stats-row"></div>
<div class="filters">
<label>Company
<select id="i-company"><option value="">All companies</option></select>

View file

@ -29,6 +29,8 @@
<a href="/admin/intelligence/graph">Graph</a>
</nav>
<div id="intel-stats-row"></div>
<main class="content">
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
@ -36,8 +38,6 @@
</div>
<div id="intel-content">
<div id="intel-stats-row"></div>
<div id="intel-signals-grid" class="signal-grid"></div>
<div id="intel-signals-empty" class="signal-empty" style="display:none">No signals generated yet — waiting for the signal worker to run.</div>
</div>