Moge-Row commited on
Commit
ecf8208
·
1 Parent(s): bfe1e71

real time stats on page

Browse files
Files changed (1) hide show
  1. internal/handler/index.html +23 -0
internal/handler/index.html CHANGED
@@ -195,5 +195,28 @@ function loadStats() {
195
  loadStats();
196
  setInterval(loadStats, 30000);
197
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  </body>
199
  </html>
 
195
  loadStats();
196
  setInterval(loadStats, 30000);
197
  </script>
198
+ <script>
199
+ function loadStats() {
200
+ fetch('/stats')
201
+ .then(r => r.json())
202
+ .then(data => {
203
+ var keys = Object.values(data.keys || {});
204
+ keys.sort(function(a,b){ return b.requests - a.requests; });
205
+ var grid = document.getElementById('users-grid');
206
+ if (keys.length === 0) {
207
+ grid.innerHTML = '<div class="commander-card"><div class="cmd-name">Sin usuarios aun</div><div class="cmd-trait">SE EL PRIMERO EN USAR LA PROXY</div></div>';
208
+ return;
209
+ }
210
+ grid.innerHTML = keys.slice(0,4).map(function(k){
211
+ return '<div class="commander-card"><div class="cmd-name">' + k.name + '</div><div class="cmd-trait">SOLICITUDES: ' + k.requests + ' // TOKENS: ' + k.tokens + '</div></div>';
212
+ }).join('');
213
+ var freeEl = document.getElementById('free-count');
214
+ if (freeEl) freeEl.textContent = (data.free_reqs || 0) + '/340';
215
+ })
216
+ .catch(function(){ });
217
+ }
218
+ loadStats();
219
+ setInterval(loadStats, 30000);
220
+ </script>
221
  </body>
222
  </html>