diff --git a/webui/app.js b/webui/app.js index ce30470..cb82894 100644 --- a/webui/app.js +++ b/webui/app.js @@ -361,6 +361,8 @@ function renderChannels(accountId, channels) { // Update channel count stat panel.querySelector('.channel-count').textContent = String(channels.length); + panel.querySelector('.channel-active-count').textContent = String(channels.length); + panel.querySelector('.channel-inactive-count').textContent = '0'; } function renderJobs(accountId, jobs) { @@ -616,6 +618,7 @@ function renderSummary(accountId, data) { const d = data.dashboard || data.state || {}; const health = data.health || {}; panel.querySelector('.forwarding-count').textContent = String((d.forwarding_rules || []).length); + panel.querySelector('.forwarding-active-count').textContent = String((d.forwarding_rules || []).length); const toggle = panel.querySelector('.scrape-media-label'); toggle.textContent = d.scrape_media ? 'ON' : 'OFF'; const healthOk = health.api_credentials && health.session_ready && health.data_dir_exists; @@ -626,6 +629,11 @@ function renderSummary(accountId, data) { `${health.media_count || 0} media`, health.active_job ? `active: ${health.active_job.status}` : 'idle', ].join(' | '); + const mediaCount = Number(health.media_count || 0); + panel.querySelector('.media-session-count').textContent = String(mediaCount); + panel.querySelector('.media-total-count').textContent = String(mediaCount); + panel.querySelector('.health-session-value').textContent = health.session_ready ? 'Valid' : 'Check'; + panel.querySelector('.health-rate-value').textContent = health.active_job ? 'Busy' : 'OK'; } /* ── Account data loading ───────────────────────────── */ diff --git a/webui/index.html b/webui/index.html index cfbaa57..3b0e878 100644 --- a/webui/index.html +++ b/webui/index.html @@ -196,18 +196,38 @@
Channels
0
+
Tracked channels
+
+ 0 Active0 Inactive +
Media scraping
OFF
+
Items downloaded
+
+ 0 This session0 Total +
Forwarding rules
0
+
Active rules
+
+ 0 Active0 Paused +
Account health
-
+
Session status
+
+ - Session- Rate limit +
diff --git a/webui/style.css b/webui/style.css index e9b80c6..fd9af16 100644 --- a/webui/style.css +++ b/webui/style.css @@ -2100,11 +2100,41 @@ a.nav-link { font-weight: 500; } -.stat-panel .account-health-detail { - color: #c7c7c7; +.stat-caption { + margin-top: 3px; + color: #bdbdbd; font-size: 12px; } +.stat-meta { + position: absolute; + right: 18px; + bottom: 15px; + left: 18px; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; + color: #bdbdbd; + font-size: 12px; +} + +.stat-meta span + span { + padding-left: 12px; + border-left: 1px solid #363636; +} + +.stat-meta strong { + display: block; + margin-bottom: 1px; + color: #ededed; + font-size: 14px; + font-weight: 500; +} + +.stat-panel .account-health-detail { + display: none; +} + .panel { padding: 0; overflow: hidden;