fix: Update index.html and app.js to support 7 separate quota bars
Build and Push Docker Image / build-and-push (push) Canceled after 0s

This commit is contained in:
Jannik committed 2026-08-29 06:42:54 +02:00
1 parent 5d93d9f798
commit 8c8a5eaa9e
3 files changed
+140 -29

No files matched your search

+2 -1
View File
@@ -36,7 +36,8 @@ async function fetchQuotas() {
];
activeQuotas.forEach(quota => {
updateRow(quota.provider.toLowerCase(), quota);
const providerId = quota.provider.toLowerCase().replace(/[^a-z0-9]/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');
updateRow(providerId, quota);
});
} catch (error) {
console.error('Error fetching quotas:', error);
+102 -28
View File
@@ -35,27 +35,7 @@
</header>
<section class="dashboard-list">
<!-- Antigravity Row -->
<div class="provider-row" id="row-antigravity">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">🤖</span>
<span class="provider-name">Antigravity (Gemini)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-antigravity"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-antigravity">0%</span>
<span class="raw-value" id="status-antigravity">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-antigravity"></div>
</div>
<!-- POE Row -->
<div class="provider-row" id="row-poe">
<div class="provider-main">
<div class="provider-info">
@@ -75,24 +55,118 @@
<div class="provider-details" id="details-poe"></div>
</div>
<!-- MiniMax Row -->
<div class="provider-row" id="row-minimax">
<div class="provider-row" id="row-ag-gemini-5h">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">⚡</span>
<span class="provider-name">MiniMax (M3)</span>
<span class="provider-icon">🤖</span>
<span class="provider-name">AG Gemini (5h)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-minimax"></div>
<div class="progress-fill" id="fill-ag-gemini-5h"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-minimax">0%</span>
<span class="raw-value" id="status-minimax">Loading...</span>
<span class="percentage" id="percentage-ag-gemini-5h">0%</span>
<span class="raw-value" id="status-ag-gemini-5h">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-minimax"></div>
<div class="provider-details" id="details-ag-gemini-5h"></div>
</div>
<div class="provider-row" id="row-ag-gemini-weekly">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">🤖</span>
<span class="provider-name">AG Gemini (Weekly)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-ag-gemini-weekly"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-ag-gemini-weekly">0%</span>
<span class="raw-value" id="status-ag-gemini-weekly">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-ag-gemini-weekly"></div>
</div>
<div class="provider-row" id="row-ag-claude-5h">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">⚡</span>
<span class="provider-name">AG Claude (5h)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-ag-claude-5h"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-ag-claude-5h">0%</span>
<span class="raw-value" id="status-ag-claude-5h">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-ag-claude-5h"></div>
</div>
<div class="provider-row" id="row-ag-claude-weekly">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">⚡</span>
<span class="provider-name">AG Claude (Weekly)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-ag-claude-weekly"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-ag-claude-weekly">0%</span>
<span class="raw-value" id="status-ag-claude-weekly">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-ag-claude-weekly"></div>
</div>
<div class="provider-row" id="row-minimax-5h">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">🔥</span>
<span class="provider-name">MiniMax (5h)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-minimax-5h"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-minimax-5h">0%</span>
<span class="raw-value" id="status-minimax-5h">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-minimax-5h"></div>
</div>
<div class="provider-row" id="row-minimax-weekly">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">🔥</span>
<span class="provider-name">MiniMax (Weekly)</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-minimax-weekly"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-minimax-weekly">0%</span>
<span class="raw-value" id="status-minimax-weekly">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-minimax-weekly"></div>
</div>
</section>
+36
View File
@@ -0,0 +1,36 @@
const fs = require('fs');
let html = fs.readFileSync('public/index.html', 'utf8');
const generateRow = (id, icon, name) => `
<div class="provider-row" id="row-${id}">
<div class="provider-main">
<div class="provider-info">
<span class="provider-icon">${icon}</span>
<span class="provider-name">${name}</span>
</div>
<div class="progress-container">
<div class="progress-bar">
<div class="progress-fill" id="fill-${id}"></div>
</div>
</div>
<div class="provider-stats">
<span class="percentage" id="percentage-${id}">0%</span>
<span class="raw-value" id="status-${id}">Loading...</span>
</div>
</div>
<div class="provider-details" id="details-${id}"></div>
</div>`;
const newSection = `<section class="dashboard-list">
${generateRow('poe', '🧠', 'POE')}
${generateRow('ag-gemini-5h', '🤖', 'AG Gemini (5h)')}
${generateRow('ag-gemini-weekly', '🤖', 'AG Gemini (Weekly)')}
${generateRow('ag-claude-5h', '⚡', 'AG Claude (5h)')}
${generateRow('ag-claude-weekly', '⚡', 'AG Claude (Weekly)')}
${generateRow('minimax-5h', '🔥', 'MiniMax (5h)')}
${generateRow('minimax-weekly', '🔥', 'MiniMax (Weekly)')}
</section>`;
html = html.replace(/<section class="dashboard-list">[\s\S]*?<\/section>/, newSection);
fs.writeFileSync('public/index.html', html);
console.log('updated index.html');