diff --git a/packages/tracker/meshnet_tracker/dashboard.html b/packages/tracker/meshnet_tracker/dashboard.html index c0769e5..03fd932 100644 --- a/packages/tracker/meshnet_tracker/dashboard.html +++ b/packages/tracker/meshnet_tracker/dashboard.html @@ -22,8 +22,8 @@ border-bottom:1px solid var(--border); flex-shrink:0; } header h1 { font-size:16px; margin:0; color:var(--accent); } header .meta { color:var(--dim); font-size:12px; } - main { display:grid; grid-template-columns:1fr; - gap:14px; padding:14px 20px; } + main { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); + gap:14px; padding:14px 20px; } body.chat-tab-active main { flex:1; min-height:0; display:flex; flex-direction:column; padding:0; gap:0; overflow:hidden; @@ -32,6 +32,7 @@ border-radius:8px; padding:12px 14px; min-height:80px; } section h2 { margin:0 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--dim); } + .panel-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; } table { width:100%; border-collapse:collapse; font-size:12px; } th { text-align:left; color:var(--dim); font-weight:normal; border-bottom:1px solid var(--border); padding:2px 6px 4px 0; } @@ -290,7 +291,7 @@

All accounts (admin)

Strikes / bans / forfeitures

admin login required

Client balances

admin login required
-

Console output

admin login required
+

Console output

admin login required

Test run status

@@ -1072,8 +1073,16 @@ function renderBillingUsage(records) { table(["time", "model", "api key", "tokens", "cost (USDT)"], rows); } +let consoleClearedAt = 0; + +function clearConsole() { + consoleClearedAt = Date.now() / 1000; + panelSig.console = null; + renderConsole({ events: [] }); +} + function renderConsole(data) { - const events = (data && data.events) || []; + const events = ((data && data.events) || []).filter(event => event.ts > consoleClearedAt); if (!events.length) { $("console").innerHTML = '
no console events
'; return; diff --git a/tests/test_dashboard.py b/tests/test_dashboard.py index 3d698e6..dbe7283 100644 --- a/tests/test_dashboard.py +++ b/tests/test_dashboard.py @@ -39,7 +39,9 @@ def test_dashboard_served_with_all_panels(): assert "resolveModelGroup" in html assert "buildModelAliasMap" in html assert "modelAliasKey(raw)" in html - assert "main { display:grid; grid-template-columns:1fr;" in html + assert "main { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr));" in html + assert 'onclick="clearConsole()"' in html + assert "let consoleClearedAt = 0;" in html finally: tracker.stop()