feat(theme): per-theme brand logos (VNClagoon wordmark ↔ SRC mark)

Add optional logoLightUrl/logoDarkUrl to InstalledTheme + resolveThemeLogo()
helper; set logos on vnclagoon + src themes; login page and nav-rail prefer the
active theme's logo, falling back to the global config logo. So switching theme
switches the whole brand. 0 type errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bernd Rodler
2026-08-03 18:23:42 +02:00
co-authored by Claude Opus 4.8
parent 1bc5a6a0ce
commit 88670d4bcf
6 changed files with 51 additions and 3 deletions
+7
View File
@@ -204,6 +204,13 @@ export interface InstalledTheme {
* lifecycle as `css` to keep localStorage small.
*/
skin?: string;
/**
* Optional brand logos. When this theme is the active theme, these override
* the global login/app logo (a full brand skin, not just colours). Falls back
* to the configured global logo when unset.
*/
logoLightUrl?: string;
logoDarkUrl?: string;
variants: ThemeVariant[];
enabled: boolean;
builtIn: boolean;