| | <!DOCTYPE html> |
| | <html lang="en"> |
| | <head> |
| | <meta charset="UTF-8" /> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| | <title>Provider Telemetry Console</title> |
| | <link rel="stylesheet" href="static/css/pro-dashboard.css" /> |
| | <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> |
| | </head> |
| | <body data-theme="dark"> |
| | <main class="main-area" style="margin-left:auto;margin-right:auto;max-width:1400px;"> |
| | <header class="topbar"> |
| | <div> |
| | <h1>Provider Monitoring</h1> |
| | <p class="text-muted">Glass dashboard for ingestion partners</p> |
| | </div> |
| | <div class="status-group"> |
| | <div class="status-pill" data-admin-health data-state="warn"> |
| | <span class="status-dot"></span> |
| | <span>checking</span> |
| | </div> |
| | <button class="ghost" data-admin-refresh>Refresh</button> |
| | </div> |
| | </header> |
| | <section class="page active"> |
| | <div class="stats-grid" data-admin-providers></div> |
| | <div class="grid-two"> |
| | <div class="glass-card"> |
| | <h3>Latency Distribution</h3> |
| | <canvas id="provider-latency-chart" height="220"></canvas> |
| | </div> |
| | <div class="glass-card"> |
| | <h3>Health Split</h3> |
| | <canvas id="provider-status-chart" height="220"></canvas> |
| | </div> |
| | </div> |
| | <div class="glass-card"> |
| | <div class="section-header"> |
| | <h3>Provider Directory</h3> |
| | <span class="text-muted">Fetched from /api/providers</span> |
| | </div> |
| | <div class="table-wrapper"> |
| | <table> |
| | <thead> |
| | <tr> |
| | <th>Name</th> |
| | <th>Category</th> |
| | <th>Latency</th> |
| | <th>Status</th> |
| | <th>Endpoint</th> |
| | </tr> |
| | </thead> |
| | <tbody data-admin-table></tbody> |
| | </table> |
| | </div> |
| | </div> |
| | </section> |
| | </main> |
| | <script type="module" src="static/js/adminDashboard.js"></script> |
| | </body> |
| | </html> |
| |
|