Claude-Statusbar global auf allen Seiten anzeigen + Schließen-Button
- #claudeStatusBar aus Dashboard-Template nach body verschoben (vor #app) - loadClaudeStatus() von dashboard.js nach app.js (einmalig beim Start) - Schließen-Button (×) zum Ausblenden der Statusbar - Status-Bar CSS von dashboard.css nach main.css verschoben
This commit is contained in:
1 parent
2673aecc5b
commit
c9c15279d5
5 files changed
+94
-75
No files matched your search
@@ -12,12 +12,41 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
}
|
||||
|
||||
currentUser = user;
|
||||
loadClaudeStatus();
|
||||
|
||||
const { page, id } = parseHash();
|
||||
var target = page === 'login' ? 'dashboard' : page;
|
||||
await navigateTo(target, { id }, { replace: true });
|
||||
});
|
||||
|
||||
async function loadClaudeStatus() {
|
||||
const statusBar = document.getElementById('claudeStatusBar');
|
||||
if (!statusBar) return;
|
||||
|
||||
// Schließen-Button
|
||||
const closeBtn = statusBar.querySelector('.status-close');
|
||||
if (closeBtn) {
|
||||
closeBtn.addEventListener('click', () => { statusBar.hidden = true; });
|
||||
}
|
||||
|
||||
try {
|
||||
const res = await fetch('https://status.claude.com/api/v2/status.json');
|
||||
if (!res.ok) return;
|
||||
const data = await res.json();
|
||||
|
||||
const indicator = data.status?.indicator || 'none';
|
||||
const description = data.status?.description || '';
|
||||
|
||||
if (indicator === 'none') return;
|
||||
|
||||
statusBar.classList.add(`status-${indicator}`);
|
||||
statusBar.querySelector('.status-text').textContent = description;
|
||||
statusBar.hidden = false;
|
||||
} catch {
|
||||
// Status-Abruf fehlgeschlagen – still ignorieren
|
||||
}
|
||||
}
|
||||
|
||||
// Browser Zurück/Vor-Button
|
||||
window.addEventListener('popstate', async (e) => {
|
||||
var page, id;
|
||||
|
||||
Reference in new issue
Block a user