From 5b8d336d215f8cde7458f80be8a7d955fbd57ce1 Mon Sep 17 00:00:00 2001 From: Marcel Raddatz Date: Thu, 9 Apr 2026 09:51:32 +0200 Subject: [PATCH] fix(planner): map backend role 'planner' to 'planer' and enlarge nav buttons to 40px touch targets - hooks.server.ts: replace type-cast with actual mapping so isPlanner works - planner page: set min-h/min-w 40px on prev/next/heute week buttons Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/hooks.server.test.ts | 2 +- frontend/src/hooks.server.ts | 2 +- frontend/src/routes/(app)/planner/+page.svelte | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/src/hooks.server.test.ts b/frontend/src/hooks.server.test.ts index 68fab8a..4a59d78 100644 --- a/frontend/src/hooks.server.test.ts +++ b/frontend/src/hooks.server.test.ts @@ -79,7 +79,7 @@ describe('auth guard (hooks.server.ts handle)', () => { displayName: 'Max', householdId: 'h1', householdName: 'Familie Müller', - householdRole: 'planer', + householdRole: 'planner', email: 'max@example.com', systemRole: 'user' } diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 9fbd150..6f2ea43 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -39,7 +39,7 @@ export const handle: Handle = async ({ event, resolve }) => { event.locals.benutzer = { id: user.id!, name: user.displayName!, - rolle: (user.householdRole as 'planer' | 'mitglied') ?? 'mitglied' + rolle: user.householdRole === 'planner' ? 'planer' : 'mitglied' }; event.locals.haushalt = { id: user.householdId ?? undefined, diff --git a/frontend/src/routes/(app)/planner/+page.svelte b/frontend/src/routes/(app)/planner/+page.svelte index b1cc5ad..1b69802 100644 --- a/frontend/src/routes/(app)/planner/+page.svelte +++ b/frontend/src/routes/(app)/planner/+page.svelte @@ -149,7 +149,7 @@ type="button" onclick={() => navigateWeek('prev')} aria-label="Vorherige Woche" - class="rounded-[var(--radius-md)] border border-[var(--color-border)] p-1.5 text-[var(--color-text)] hover:bg-[var(--color-surface)]" + class="flex min-h-[40px] min-w-[40px] items-center justify-center rounded-[var(--radius-md)] border border-[var(--color-border)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" > ‹ @@ -157,7 +157,7 @@ type="button" onclick={() => navigateWeek('next')} aria-label="Nächste Woche" - class="rounded-[var(--radius-md)] border border-[var(--color-border)] p-1.5 text-[var(--color-text)] hover:bg-[var(--color-surface)]" + class="flex min-h-[40px] min-w-[40px] items-center justify-center rounded-[var(--radius-md)] border border-[var(--color-border)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" > › @@ -279,7 +279,7 @@ type="button" onclick={() => navigateWeek('prev')} aria-label="Vorherige Woche" - class="rounded-[var(--radius-md)] border border-[var(--color-border)] px-3 py-1.5 text-[13px] font-medium tracking-[0.04em] font-[var(--font-sans)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" + class="flex min-h-[40px] min-w-[40px] items-center justify-center rounded-[var(--radius-md)] border border-[var(--color-border)] text-[13px] font-medium tracking-[0.04em] font-[var(--font-sans)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" > ‹ @@ -288,14 +288,14 @@ type="button" onclick={() => navigateWeek('next')} aria-label="Nächste Woche" - class="rounded-[var(--radius-md)] border border-[var(--color-border)] px-3 py-1.5 text-[13px] font-medium tracking-[0.04em] font-[var(--font-sans)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" + class="flex min-h-[40px] min-w-[40px] items-center justify-center rounded-[var(--radius-md)] border border-[var(--color-border)] text-[13px] font-medium tracking-[0.04em] font-[var(--font-sans)] text-[var(--color-text)] hover:bg-[var(--color-surface)]" > ›