import type { InstalledTheme } from './plugin-types'; /** * Resolve which logo to show. When the active theme carries brand logos * (logoLightUrl/logoDarkUrl), those win — so switching theme switches the whole * brand (VNClagoon wordmark ↔ SRC mark). Otherwise falls back to the globally * configured logo. Returns a raw path; the caller applies withBasePath(). */ export function resolveThemeLogo( themes: InstalledTheme[], activeThemeId: string | null, isDark: boolean, fallbackLight: string, fallbackDark: string, ): string { const theme = activeThemeId ? themes.find((t) => t.id === activeThemeId) : undefined; if (theme) { const themed = isDark ? (theme.logoDarkUrl ?? theme.logoLightUrl) : (theme.logoLightUrl ?? theme.logoDarkUrl); if (themed) return themed; } return isDark ? (fallbackDark || fallbackLight) : (fallbackLight || fallbackDark); }