From fd2a7a8e9672383d3c2387ee7f006f74af4781e2 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 30 Mar 2026 21:55:48 +0200 Subject: [PATCH 01/12] refactor(layout): remove --c-nav-active CSS token The nav active state moves from a background pill to a bottom-border underline, so the rgba purple tint variable is no longer needed. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/routes/AppNav.svelte | 8 ++++---- frontend/src/routes/layout.css | 9 --------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/frontend/src/routes/AppNav.svelte b/frontend/src/routes/AppNav.svelte index 8e17dbed..a9f66408 100644 --- a/frontend/src/routes/AppNav.svelte +++ b/frontend/src/routes/AppNav.svelte @@ -43,7 +43,7 @@ function handleOverlayKeydown(event: KeyboardEvent) { href="/" class="inline-flex items-center px-3 py-1.5 font-sans text-xs font-bold tracking-widest uppercase transition-colors {page.url.pathname === '/' || page.url.pathname.startsWith('/documents') - ? 'rounded bg-nav-active text-ink' + ? 'bg-nav-active rounded text-ink' : 'rounded text-ink-2 hover:bg-muted hover:text-ink'}" > {m.nav_documents()} @@ -53,7 +53,7 @@ function handleOverlayKeydown(event: KeyboardEvent) { href="/persons" class="inline-flex items-center px-3 py-1.5 font-sans text-xs font-bold tracking-widest uppercase transition-colors {page.url.pathname.startsWith('/persons') - ? 'rounded bg-nav-active text-ink' + ? 'bg-nav-active rounded text-ink' : 'rounded text-ink-2 hover:bg-muted hover:text-ink'}" > {m.nav_persons()} @@ -63,7 +63,7 @@ function handleOverlayKeydown(event: KeyboardEvent) { href="/korrespondenz" class="inline-flex items-center px-3 py-1.5 font-sans text-xs font-bold tracking-widest uppercase transition-colors {page.url.pathname.startsWith('/korrespondenz') - ? 'rounded bg-nav-active text-ink' + ? 'bg-nav-active rounded text-ink' : 'rounded text-ink-2 hover:bg-muted hover:text-ink'}" > {m.nav_conversations()} @@ -73,7 +73,7 @@ function handleOverlayKeydown(event: KeyboardEvent) { href="/admin" class="inline-flex items-center px-3 py-1.5 font-sans text-xs font-bold tracking-widest uppercase transition-colors {page.url.pathname.startsWith('/admin') - ? 'rounded bg-nav-active text-ink' + ? 'bg-nav-active rounded text-ink' : 'rounded text-ink-2 hover:bg-muted hover:text-ink'}" > {m.nav_admin()} diff --git a/frontend/src/routes/layout.css b/frontend/src/routes/layout.css index e30ae17e..b5afd68a 100644 --- a/frontend/src/routes/layout.css +++ b/frontend/src/routes/layout.css @@ -48,9 +48,6 @@ --color-primary: var(--c-primary); --color-primary-fg: var(--c-primary-fg); - /* Nav active state */ - --color-nav-active: var(--c-nav-active); - /* PDF viewer */ --color-pdf-bg: var(--c-pdf-bg); --color-pdf-ctrl: var(--c-pdf-ctrl); @@ -84,8 +81,6 @@ --c-primary: #012851; --c-primary-fg: #ffffff; - --c-nav-active: rgba(180, 185, 255, 0.15); - --c-pdf-bg: #ebebeb; --c-pdf-ctrl: #d8d8d8; --c-pdf-text: #333333; @@ -112,8 +107,6 @@ --c-primary: #a1dcd8; --c-primary-fg: #012851; - --c-nav-active: rgba(180, 185, 255, 0.12); - --c-pdf-bg: #1e1e1e; --c-pdf-ctrl: #2a2a2a; --c-pdf-text: #d1d1d1; @@ -140,8 +133,6 @@ --c-primary: #a1dcd8; --c-primary-fg: #012851; - --c-nav-active: rgba(180, 185, 255, 0.12); - --c-pdf-bg: #1e1e1e; --c-pdf-ctrl: #2a2a2a; --c-pdf-text: #d1d1d1; -- 2.49.1 From 3dfaf69fb10bb0616a7aa1529313488cd4740d62 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 30 Mar 2026 21:57:01 +0200 Subject: [PATCH 02/12] feat(LanguageSwitcher): add inverted prop for dark-header context When inverted=true, buttons render white text instead of ink tokens, suitable for placement on brand-navy background. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/lib/components/LanguageSwitcher.svelte | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/LanguageSwitcher.svelte b/frontend/src/lib/components/LanguageSwitcher.svelte index e14029db..7c0ac134 100644 --- a/frontend/src/lib/components/LanguageSwitcher.svelte +++ b/frontend/src/lib/components/LanguageSwitcher.svelte @@ -1,6 +1,8 @@ -
-