Spaces:
Paused
Paused
Update internal/handler/index.html
Browse files- 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.
|
| 96 |
-
|
| 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 |
-
|
| 109 |
var barsEl = document.getElementById('top-users-bars');
|
| 110 |
if (barsEl) {
|
| 111 |
-
|
| 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 |
-
|
| 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(){ });
|