refactor button elements; change button types for search and filter actions in admin pages
This commit is contained in:
parent
eedd499262
commit
16cd61fdf5
6 changed files with 21 additions and 24 deletions
|
|
@ -33,19 +33,16 @@
|
||||||
|
|
||||||
|
|
||||||
/* ── intel stats row (the 6-up on intel pages) ──────────────────────────── */
|
/* ── intel stats row (the 6-up on intel pages) ──────────────────────────── */
|
||||||
/* one integrated strip with edge-to-edge separators, mirrors the top
|
/* lives outside .content so it spans edge-to-edge, matching the top
|
||||||
stats-bar. we wrap the ordinary .intel-stat-card children and strip
|
stats-bar exactly: flat strip, bottom border, vertical separators
|
||||||
their individual borders + radius so the container reads as one unit. */
|
between cells. kept distinct from the stats.html throughput tiles
|
||||||
|
which deliberately still read as standalone cards. */
|
||||||
|
|
||||||
#intel-stats-row {
|
#intel-stats-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
background: var(--bg-card);
|
background: var(--bg-card);
|
||||||
border: 1px solid var(--border);
|
border-bottom: 1px solid var(--border);
|
||||||
border-radius: var(--radius-lg);
|
|
||||||
overflow: hidden;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
gap: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#intel-stats-row .intel-stat-card {
|
#intel-stats-row .intel-stat-card {
|
||||||
|
|
@ -53,14 +50,13 @@
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border-right: 1px solid var(--border);
|
border-right: 1px solid var(--border);
|
||||||
padding: 16px 28px;
|
padding: 14px 28px;
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
min-width: 140px;
|
min-width: 140px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#intel-stats-row .intel-stat-card:last-child {
|
#intel-stats-row .intel-stat-card:first-child { padding-left: 24px; }
|
||||||
border-right: none;
|
#intel-stats-row .intel-stat-card:last-child { border-right: none; }
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ── intel detail body (modal) ── */
|
/* ── intel detail body (modal) ── */
|
||||||
|
|
|
||||||
|
|
@ -7,18 +7,19 @@ async function loadIntelStatsRow() {
|
||||||
if (!row) return true;
|
if (!row) return true;
|
||||||
|
|
||||||
const data = await api("/admin/api/intelligence/stats");
|
const data = await api("/admin/api/intelligence/stats");
|
||||||
|
const notice = document.getElementById("intel-unavailable");
|
||||||
|
const content = document.getElementById("intel-content");
|
||||||
|
|
||||||
if (!data.available) {
|
if (!data.available) {
|
||||||
const notice = document.getElementById("intel-unavailable");
|
|
||||||
const content = document.getElementById("intel-content");
|
|
||||||
if (notice) notice.style.display = "";
|
if (notice) notice.style.display = "";
|
||||||
if (content) content.style.display = "none";
|
if (content) content.style.display = "none";
|
||||||
|
row.style.display = "none"; // hide the full-width stats strip too
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const notice = document.getElementById("intel-unavailable");
|
|
||||||
const content = document.getElementById("intel-content");
|
|
||||||
if (notice) notice.style.display = "none";
|
if (notice) notice.style.display = "none";
|
||||||
if (content) content.style.display = "";
|
if (content) content.style.display = "";
|
||||||
|
row.style.display = "";
|
||||||
|
|
||||||
const queueMap = {};
|
const queueMap = {};
|
||||||
(data.queue || []).forEach(r => queueMap[r.status] = r.n);
|
(data.queue || []).forEach(r => queueMap[r.status] = r.n);
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
<a href="/admin/intelligence/graph" class="active">Graph</a>
|
<a href="/admin/intelligence/graph" class="active">Graph</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<div id="intel-stats-row"></div>
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
||||||
|
|
@ -36,8 +38,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="intel-content">
|
<div id="intel-content">
|
||||||
<div id="intel-stats-row"></div>
|
|
||||||
|
|
||||||
<div id="intel-graph-layout">
|
<div id="intel-graph-layout">
|
||||||
<div id="intel-graph-svg-wrap">
|
<div id="intel-graph-svg-wrap">
|
||||||
<svg id="intel-graph-svg"></svg>
|
<svg id="intel-graph-svg"></svg>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
<a href="/admin/intelligence/graph">Graph</a>
|
<a href="/admin/intelligence/graph">Graph</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<div id="intel-stats-row"></div>
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
||||||
|
|
@ -36,8 +38,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="intel-content">
|
<div id="intel-content">
|
||||||
<div id="intel-stats-row"></div>
|
|
||||||
|
|
||||||
<div class="filters">
|
<div class="filters">
|
||||||
<label>Company
|
<label>Company
|
||||||
<select id="i-company"><option value="">All companies</option></select>
|
<select id="i-company"><option value="">All companies</option></select>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
<a href="/admin/intelligence/graph">Graph</a>
|
<a href="/admin/intelligence/graph">Graph</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<div id="intel-stats-row"></div>
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
||||||
|
|
@ -36,8 +38,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="intel-content">
|
<div id="intel-content">
|
||||||
<div id="intel-stats-row"></div>
|
|
||||||
|
|
||||||
<div class="filters">
|
<div class="filters">
|
||||||
<label>Company
|
<label>Company
|
||||||
<select id="i-company"><option value="">All companies</option></select>
|
<select id="i-company"><option value="">All companies</option></select>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
<a href="/admin/intelligence/graph">Graph</a>
|
<a href="/admin/intelligence/graph">Graph</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<div id="intel-stats-row"></div>
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
<div id="intel-unavailable" class="intel-unavailable" style="display:none">
|
||||||
|
|
@ -36,8 +38,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="intel-content">
|
<div id="intel-content">
|
||||||
<div id="intel-stats-row"></div>
|
|
||||||
|
|
||||||
<div id="intel-signals-grid" class="signal-grid"></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 id="intel-signals-empty" class="signal-empty" style="display:none">No signals generated yet — waiting for the signal worker to run.</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue