|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8" /> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" /> |
|
|
<title>Crypto Intelligence Admin</title> |
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" /> |
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" /> |
|
|
<link rel="stylesheet" href="/static/css/unified-ui.css" /> |
|
|
<link rel="stylesheet" href="/static/css/components.css" /> |
|
|
<script defer src="/static/js/ui-feedback.js"></script> |
|
|
<script defer src="/static/js/admin-app.js"></script> |
|
|
</head> |
|
|
<body class="page page-admin"> |
|
|
<header class="top-nav"> |
|
|
<div class="branding"> |
|
|
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M4 12h16M12 4v16"/></svg> |
|
|
<div> |
|
|
<strong>Providers & Scheduling</strong> |
|
|
<small style="color:var(--ui-text-muted);letter-spacing:0.2em;">/api/providers · /api/logs</small> |
|
|
</div> |
|
|
</div> |
|
|
<nav class="nav-links"> |
|
|
<a href="/dashboard">Dashboard</a> |
|
|
<a class="active" href="/admin">Admin</a> |
|
|
<a href="/hf_console">HF Console</a> |
|
|
<a href="/docs" target="_blank" rel="noreferrer">API Docs</a> |
|
|
</nav> |
|
|
</header> |
|
|
|
|
|
<main class="page-content"> |
|
|
<section class="card"> |
|
|
<div class="section-heading"> |
|
|
<h2>Providers Health</h2> |
|
|
<span class="badge info" id="providers-count">Loading...</span> |
|
|
</div> |
|
|
<div class="table-card"> |
|
|
<table> |
|
|
<thead> |
|
|
<tr><th>Provider</th><th>Status</th><th>Response (ms)</th><th>Category</th></tr> |
|
|
</thead> |
|
|
<tbody id="providers-table"> |
|
|
<tr><td colspan="4">Loading providers...</td></tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
<section class="split-grid"> |
|
|
<article class="card" id="provider-detail"> |
|
|
<div class="section-heading"> |
|
|
<h2>Provider Detail</h2> |
|
|
<span class="badge info" id="selected-provider">Select a provider</span> |
|
|
</div> |
|
|
<ul class="list" id="provider-detail-list"></ul> |
|
|
</article> |
|
|
<article class="card"> |
|
|
<div class="section-heading"> |
|
|
<h2>Configuration Snapshot</h2> |
|
|
<span class="badge info" id="config-summary">Loading...</span> |
|
|
</div> |
|
|
<ul class="list" id="config-list"></ul> |
|
|
</article> |
|
|
</section> |
|
|
|
|
|
<section class="split-grid"> |
|
|
<article class="card"> |
|
|
<div class="section-heading"><h2>Logs ( /api/logs )</h2><span class="badge info">Latest</span></div> |
|
|
<div id="logs-list" class="ws-stream"></div> |
|
|
</article> |
|
|
<article class="card"> |
|
|
<div class="section-heading"><h2>Alerts ( /api/alerts )</h2><span class="badge info">Live</span></div> |
|
|
<div id="alerts-list"></div> |
|
|
</article> |
|
|
</section> |
|
|
</main> |
|
|
</body> |
|
|
</html>
|
|
|
|