fix: frontend UX improvements (SSE status, responsive tables, dark mode, login toggle, theme)

- Add SSE connection status banner showing when real-time updates are lost (UX-H8, UX-M1)
- Add password visibility toggle on login page (UX-H10)
- Add dark mode variants to stat card backgrounds (UX-M11)
- Add overflow-x-auto to tables for mobile responsiveness (UX-H9)
- Add flex-wrap to stage header for mobile overflow (UX-H11)
- Fix theme store system preference listener reactivity (UX-M12)
- Parallelize registry health checks (UX-L4)
This commit is contained in:
2026-04-04 12:53:39 +03:00
parent fa62e9c20f
commit 3f6858513f
9 changed files with 61 additions and 22 deletions
+14
View File
@@ -43,6 +43,7 @@
let healthChecked = $state(false);
let healthInterval: ReturnType<typeof setInterval> | null = null;
let hintsExpanded = $state(false);
let sseConnected = $state(true);
const dockerConnected = $derived(dockerHealth?.connected ?? false);
@@ -90,6 +91,12 @@
},
onDeployStatus(payload) {
instanceStatusStore.notifyDeploy(payload);
},
onOpen() {
sseConnected = true;
},
onError() {
sseConnected = false;
}
});
@@ -278,6 +285,13 @@
<span class="text-sm font-bold text-[var(--text-primary)]">{$t('app.name')}</span>
</header>
<!-- SSE connection status banner -->
{#if !sseConnected}
<div class="bg-amber-500 text-white text-center text-xs py-1 px-4">
Real-time connection lost. Reconnecting...
</div>
{/if}
<!-- Page content -->
<main class="flex-1 overflow-y-auto">
<div class="mx-auto max-w-7xl px-4 py-6 sm:px-6 sm:py-8">