feat(brand): gedrehte Kachel der Bildmarke übernimmt die Akzentfarbe

- LogoMark: gedrehte Signalkachel per Inline-Style fill: var(--primary, BRAND_YELLOW) statt festem fill-Attribut
- folgt damit der persoenlichen Akzentfarbe (applyAccentColor in auth-store.ts) in Kopfzeile, Seitenleiste und leerem Dashboard; ohne Nutzer (Anmeldeseite) gilt der CSS-Standard Markengelb
- brand.ts: Kommentar zu BRAND_YELLOW als Rueckfallwert ergaenzt
- tessera-logo.test.tsx: Kacheltest auf Inline-Style-Fuellung umgeschrieben (jsdom haelt var() in style.fill)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-17 12:15:33 +02:00
parent 795c6a492c
commit 1601d97f62
3 changed files with 32 additions and 7 deletions
+11 -1
View File
@@ -69,6 +69,13 @@ function LogoMark({
<g>
<rect x="16" y="16" width="12" height="12" rx="2.5" fill={BRAND_OLIVE} />
<rect x="30" y="16" width="12" height="12" rx="2.5" fill={BRAND_OLIVE} />
{/*
`var()` ist in SVG-Praesentationsattributen (fill="...") nicht
zuverlaessig, im Inline-Style schon — deshalb hier style statt fill.
`--primary` wird von applyAccentColor() in auth-store.ts gesetzt;
ohne angemeldeten Nutzer (z. B. Anmeldeseite) ist der Token nicht
definiert und der Rueckfall in var() greift: BRAND_YELLOW.
*/}
<rect
x="45"
y="15"
@@ -76,7 +83,7 @@ function LogoMark({
height="12"
rx="2.5"
transform="rotate(12 51 21)"
fill={BRAND_YELLOW}
style={{ fill: `var(--primary, ${BRAND_YELLOW})` }}
/>
<rect x="30" y="30" width="12" height="12" rx="2.5" fill={BRAND_OLIVE} />
<rect x="30" y="44" width="12" height="12" rx="2.5" fill={BRAND_OLIVE} />
@@ -90,6 +97,9 @@ function LogoMark({
* Schriftzug und deren Anordnung an einer einzigen Stelle -- eine spaetere
* mandantenspezifische Gestaltung setzt hier an, nicht an den einzelnen
* Verwendungsstellen.
*
* Die gedrehte Signalkachel der Bildmarke folgt der persoenlichen
* Akzentfarbe (CSS-Token `--primary`, siehe LogoMark).
*/
export function TesseraLogo({
variant = 'horizontal',