feat: add web sentinel overview and runs views

This commit is contained in:
Codex
2026-06-26 03:03:19 +00:00
parent c836af5b00
commit 15f117a292
3 changed files with 343 additions and 4 deletions
@@ -84,12 +84,74 @@ export function renderWebProbeSentinelDashboardHtml(config: DashboardShellConfig
</article>
</section>
<section class="overview-checks" aria-label="Sentinel health checks">
<span id="check-config" class="check-chip">config -</span>
<span id="check-pvc" class="check-chip">pvc -</span>
<span id="check-analyzer" class="check-chip">analyzer -</span>
<span id="check-public" class="check-chip">public -</span>
<span id="check-maintenance" class="check-chip">maintenance -</span>
</section>
<section class="panel timeline-panel" aria-labelledby="timeline-heading">
<div class="panel-header">
<h2 id="timeline-heading">Run Timeline</h2>
<span id="timeline-count" class="panel-subtitle">-</span>
</div>
<div id="run-timeline" class="run-timeline"></div>
</section>
<section class="dashboard-grid">
<section class="panel panel-wide" aria-labelledby="runs-heading">
<div class="panel-header">
<h2 id="runs-heading">Runs</h2>
<span id="runs-count" class="panel-subtitle">-</span>
</div>
<form id="runs-filter" class="runs-filter">
<label>
<span>Status</span>
<select id="filter-status" name="status">
<option value="">Any</option>
<option value="planned">planned</option>
<option value="running">running</option>
<option value="analyzed">analyzed</option>
<option value="blocked">blocked</option>
<option value="interrupted">interrupted</option>
</select>
</label>
<label>
<span>Severity</span>
<select id="filter-severity" name="severity">
<option value="">Any</option>
<option value="red">red</option>
<option value="warning">warning</option>
<option value="info">info</option>
</select>
</label>
<label>
<span>Time</span>
<select id="filter-window" name="window">
<option value="">All</option>
<option value="1h">1h</option>
<option value="6h">6h</option>
<option value="24h">24h</option>
<option value="7d">7d</option>
</select>
</label>
<label>
<span>Sort</span>
<select id="filter-sort" name="sort">
<option value="updated">updated</option>
<option value="created">created</option>
<option value="findings">findings</option>
<option value="severity">severity</option>
</select>
</label>
<label class="filter-search">
<span>Search</span>
<input id="filter-search" name="search" type="search" placeholder="run, observer, report">
</label>
<button id="clear-filters" class="icon-button" type="button">Clear</button>
</form>
<div class="table-frame">
<table class="runs-table">
<thead>