feat: show update service status in UI

This commit is contained in:
2026-01-15 11:06:54 +01:00
parent 55e452b6a2
commit f513d46d08
22 changed files with 351 additions and 2 deletions

View File

@ -414,7 +414,10 @@
statusDiv.innerHTML = '<div class="spinner" style="margin: 0 auto;"></div><p class="text-center text-muted mt-1">Lade Update-Status...</p>';
try {
const data = await api('/update/status');
const [data, serviceStatus] = await Promise.all([
api('/update/status'),
api('/update/service-status')
]);
document.querySelector('#metricVersion .value').textContent = data.current_version;
document.getElementById('headerVersion').textContent = `v${data.current_version}`;
@ -436,12 +439,24 @@
enrollSection.classList.remove('hidden');
}
const serviceBadge = serviceStatus.reachable
? '<span class="badge success"><i data-lucide="server"></i> Online</span>'
: '<span class="badge error"><i data-lucide="server-off"></i> Offline</span>';
const serviceHint = serviceStatus.status_code
? `HTTP ${serviceStatus.status_code}`
: (serviceStatus.error || 'keine Antwort');
statusDiv.innerHTML = `
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem;">
<div>
<div class="text-muted" style="font-size: 0.75rem; text-transform: uppercase; margin-bottom: 0.25rem;">Version</div>
<div style="color: var(--color-accent); font-weight: 600;">${data.current_version}</div>
</div>
<div>
<div class="text-muted" style="font-size: 0.75rem; text-transform: uppercase; margin-bottom: 0.25rem;">Update-Service</div>
<div>${serviceBadge}</div>
<div class="text-muted" style="font-size: 0.75rem;">${serviceStatus.url} (${serviceHint})</div>
</div>
<div>
<div class="text-muted" style="font-size: 0.75rem; text-transform: uppercase; margin-bottom: 0.25rem;">Registrierung</div>
<div>${enrolledBadge}</div>