63 lines
2.9 KiB
HTML
63 lines
2.9 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="color-scheme" content="light" />
|
|
<meta name="theme-color" content="#101828" />
|
|
<title>CASAN · Local Assurance Viewer</title>
|
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
|
<link rel="stylesheet" href="/app.css" />
|
|
</head>
|
|
<body>
|
|
<a class="skip-link" href="#main">Skip to report</a>
|
|
<div id="app">
|
|
<aside class="sidebar" aria-label="Primary navigation">
|
|
<a class="brand" href="#overview" aria-label="CASAN overview">
|
|
<span class="brand-mark" aria-hidden="true">C</span>
|
|
<span><strong>CASAN</strong><small>Local Assurance</small></span>
|
|
</a>
|
|
<nav>
|
|
<button class="nav-item active" data-view="overview" type="button"><span aria-hidden="true">◫</span>Overview</button>
|
|
<button class="nav-item" data-view="runs" type="button"><span aria-hidden="true">⌁</span>Run registry</button>
|
|
<button class="nav-item" data-view="h6" type="button"><span aria-hidden="true">H6</span>AgentOps</button>
|
|
</nav>
|
|
<div class="local-seal">
|
|
<span class="live-dot"></span>
|
|
<div><strong>Local Core</strong><small>Loopback · read-only</small></div>
|
|
</div>
|
|
</aside>
|
|
|
|
<div class="shell">
|
|
<header class="topbar">
|
|
<button id="menu-button" class="icon-button menu-button" type="button" aria-label="Open navigation" aria-expanded="false">☰</button>
|
|
<div>
|
|
<p class="top-eyebrow">Independent evidence workspace</p>
|
|
<h1 id="page-title">Assurance overview</h1>
|
|
</div>
|
|
<div class="top-actions">
|
|
<span id="freshness-pill" class="pill neutral">Evidence loading</span>
|
|
<button id="refresh-button" class="icon-button" type="button" aria-label="Refresh evidence">↻</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main id="main" tabindex="-1">
|
|
<div id="loading" class="loading-state" aria-live="polite">
|
|
<div class="skeleton hero-skeleton"></div>
|
|
<div class="metric-grid">
|
|
<div class="skeleton metric-skeleton"></div><div class="skeleton metric-skeleton"></div>
|
|
<div class="skeleton metric-skeleton"></div><div class="skeleton metric-skeleton"></div>
|
|
</div>
|
|
</div>
|
|
<div id="error" class="notice error hidden" role="alert"></div>
|
|
<section id="overview-view" class="view hidden" aria-labelledby="page-title"></section>
|
|
<section id="runs-view" class="view hidden" aria-labelledby="page-title"></section>
|
|
<section id="h6-view" class="view hidden" aria-labelledby="page-title"></section>
|
|
</main>
|
|
</div>
|
|
<div id="nav-scrim" class="nav-scrim hidden"></div>
|
|
</div>
|
|
<script src="/app.js" defer></script>
|
|
</body>
|
|
</html>
|