feat(dashboard): Kosten-Kachel nennt den Monat beim Namen (z.B. Juli 26)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1121,7 +1121,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/static/js/a11y.js?v=20260725a"></script>
|
||||
<script src="/static/js/app.js?v=20260725o"></script>
|
||||
<script src="/static/js/app.js?v=20260725p"></script>
|
||||
<script src="/static/js/sources.js?v=20260522x2"></script>
|
||||
<script src="/static/js/x-scraper.js?v=20260522a"></script>
|
||||
<script src="/static/js/source-health.js?v=20260509l"></script>
|
||||
|
||||
@@ -1264,6 +1264,8 @@ async function loadDashboardTokenStats() {
|
||||
(data.monat_betrieb || []).forEach(function(r) {
|
||||
if (r.monat === monat) monatLaeufe = r.completed || 0;
|
||||
});
|
||||
const monatName = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'][jetzt.getMonth()]
|
||||
+ ' ' + String(jetzt.getFullYear()).slice(2);
|
||||
const fmtUsd = function(n) {
|
||||
return '$' + Number(n || 0).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
};
|
||||
@@ -1276,7 +1278,7 @@ async function loadDashboardTokenStats() {
|
||||
card.setAttribute('role', 'link');
|
||||
card.setAttribute('tabindex', '0');
|
||||
card.title = 'Zur Statistik';
|
||||
card.innerHTML = '<div class="stat-label">API-Kosten aktueller Monat</div>' +
|
||||
card.innerHTML = '<div class="stat-label">API-Kosten ' + monatName + '</div>' +
|
||||
'<div class="stat-value">' + fmtUsd(monatKosten) + '</div>' +
|
||||
'<div class="stat-sub">' + monatLaeufe.toLocaleString('de-DE') + ' Läufe · gesamt ' + fmtUsd(data.kpi.kosten_usd) + '</div>';
|
||||
const springe = () => gotoSection('statistik');
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren