Nvrrrh commited on
Commit
8d6e9ab
·
verified ·
1 Parent(s): 6e436ba

Update internal/handler/index.html

Browse files
Files changed (1) hide show
  1. internal/handler/index.html +19 -25
internal/handler/index.html CHANGED
@@ -92,37 +92,31 @@ function loadStats() {
92
  .then(r => r.json())
93
  .then(data => {
94
  var keys = Object.values(data.keys || {});
95
- keys.sort(function(a,b){ return b.requests - a.requests; });
96
- var grid = document.getElementById('users-grid');
97
- if (grid) {
98
- if (keys.length === 0) {
99
- 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>';
100
- } else {
101
- grid.innerHTML = keys.slice(0,4).map(function(k){
102
- return '<div class="commander-card"><div class="cmd-name">' + k.name + '</div><div class="cmd-trait">SOLICITUDES: ' + k.requests + ' // TOKENS: ' + k.tokens + '</div></div>';
103
- }).join('');
104
- }
105
- }
106
  var freeEl = document.getElementById('free-count');
107
  if (freeEl) freeEl.textContent = (data.free_reqs || 0) + '/340';
108
- // TOP usuarios por tokens en barras
109
  var barsEl = document.getElementById('top-users-bars');
110
  if (barsEl) {
111
- var top = keys.slice(0, 5);
112
- var maxTokens = top.length > 0 ? Math.max.apply(null, top.map(function(k){ return k.tokens || 0; })) : 1;
113
- if (maxTokens === 0) maxTokens = 1;
114
- if (top.length === 0) {
115
  barsEl.innerHTML = '<div style="font-size:11px;color:#7a6228">SIN DATOS AUN</div>';
116
- } else {
117
- barsEl.innerHTML = top.map(function(k){
118
- var pct = Math.round(((k.tokens || 0) / maxTokens) * 100);
119
- return '<div class="tank-row">' +
120
- '<div class="tank-name">' + k.name + '</div>' +
121
- '<div class="tank-bar-wrap"><div class="tank-bar" style="width:' + pct + '%"></div></div>' +
122
- '<div class="tank-era">' + (k.tokens || 0) + ' tok</div>' +
123
- '</div>';
124
- }).join('');
125
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  }
127
  })
128
  .catch(function(){ });
 
92
  .then(r => r.json())
93
  .then(data => {
94
  var keys = Object.values(data.keys || {});
95
+ keys.sort(function(a,b){ return (b.tokens || 0) - (a.tokens || 0); }); // ordenar por tokens
96
+
 
 
 
 
 
 
 
 
 
97
  var freeEl = document.getElementById('free-count');
98
  if (freeEl) freeEl.textContent = (data.free_reqs || 0) + '/340';
99
+
100
  var barsEl = document.getElementById('top-users-bars');
101
  if (barsEl) {
102
+ if (keys.length === 0) {
 
 
 
103
  barsEl.innerHTML = '<div style="font-size:11px;color:#7a6228">SIN DATOS AUN</div>';
104
+ return;
 
 
 
 
 
 
 
 
105
  }
106
+ var maxTokens = Math.max.apply(null, keys.map(function(k){ return k.tokens || 0; }));
107
+ if (maxTokens === 0) maxTokens = 1;
108
+
109
+ barsEl.innerHTML = keys.map(function(k) { // sin slice = todos
110
+ var pct = Math.round(((k.tokens || 0) / maxTokens) * 100);
111
+ var tkLabel = (k.tokens || 0) >= 1000
112
+ ? ((k.tokens || 0) / 1000).toFixed(1) + 'K'
113
+ : (k.tokens || 0) + '';
114
+ return '<div class="tank-row">' +
115
+ '<div class="tank-name">' + (k.name || 'OPERADOR') + '</div>' +
116
+ '<div class="tank-bar-wrap"><div class="tank-bar" style="width:' + pct + '%"></div></div>' +
117
+ '<div class="tank-era">' + tkLabel + ' tok</div>' +
118
+ '</div>';
119
+ }).join('');
120
  }
121
  })
122
  .catch(function(){ });