From 5bf3ea8cbd3e041abe2698a452b1415c48fc55ac Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 22 Apr 2026 14:16:56 +0200 Subject: [PATCH] refactor(admin): drop nav tabs + overview duplication from layout Now that every /admin/* page is a thin wrapper over a workbench card, the layout's nav tabs are redundant with the workbench's own scene navigation. The heading + tab strip were also duplicating chrome that each card now owns. - Layout shrinks to an auth guard: redirect non-admins, gate-screen if the session is not yet initialized. - /admin/+page.svelte now wraps the existing admin module ListView instead of duplicating its stats/security/quick-links grid. Smoketested: all 11 /admin/* and settings routes respond 200 with clean SSR output; type-check clean. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../web/src/routes/(app)/admin/+layout.svelte | 108 ++++++-------- .../web/src/routes/(app)/admin/+page.svelte | 136 +----------------- 2 files changed, 50 insertions(+), 194 deletions(-) diff --git a/apps/mana/apps/web/src/routes/(app)/admin/+layout.svelte b/apps/mana/apps/web/src/routes/(app)/admin/+layout.svelte index 006b709ed..99e1b91c9 100644 --- a/apps/mana/apps/web/src/routes/(app)/admin/+layout.svelte +++ b/apps/mana/apps/web/src/routes/(app)/admin/+layout.svelte @@ -1,83 +1,63 @@ + {#if !isAdmin} -
-
🔒
-

Zugriff verweigert

-

Du hast keine Admin-Berechtigung.

+
+ +

Zugriff verweigert

+

Du hast keine Admin-Berechtigung.

{:else} -
-
-
-

Admin Dashboard

-

System monitoring and management

-
-
- - Admin -
-
- - - -
- {@render children()} -
-
+ {@render children()} {/if} + + diff --git a/apps/mana/apps/web/src/routes/(app)/admin/+page.svelte b/apps/mana/apps/web/src/routes/(app)/admin/+page.svelte index 1716c898a..9af4e2e2b 100644 --- a/apps/mana/apps/web/src/routes/(app)/admin/+page.svelte +++ b/apps/mana/apps/web/src/routes/(app)/admin/+page.svelte @@ -1,134 +1,10 @@ -
- -
- - - - -
- - -
- -
-

Security (Last 7 Days)

- {#if loading} -
-
-
-
- {:else if stats} -
-
-
-
- Successful Logins -
- {stats.loginSuccess7d} -
-
-
-
- Failed Logins -
- {stats.loginFailed7d} -
-
-
- Success Rate - - {stats.loginSuccess7d + stats.loginFailed7d > 0 - ? Math.round( - (stats.loginSuccess7d / (stats.loginSuccess7d + stats.loginFailed7d)) * 100 - ) - : '—'}% - -
-
-
- {/if} -
- - - -
- - {#if error} -
-

{error}

-
- {/if} -
+