From 7856433c6f46be04bdbcf6db3ae14794af4801fa Mon Sep 17 00:00:00 2001 From: BoulderBadgeDad Date: Wed, 10 Jun 2026 11:00:56 -0700 Subject: [PATCH] Profiles: dark disc for white-wordmark logos (Plex/SoulSync) in the modal The Plex logo is a white wordmark, so it vanished on the modal's white logo disc (it only shows on Settings because those toggles sit on dark). Added a per-logo `dark` flag (Plex + SoulSync) that renders their disc dark (#1f2329) across the hero, rail, and option cards, so the white logo is visible. Other logos keep the white disc. --- webui/static/service-switch.js | 18 ++++++++++-------- webui/static/style.css | 2 ++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/webui/static/service-switch.js b/webui/static/service-switch.js index a1611987..a585b681 100644 --- a/webui/static/service-switch.js +++ b/webui/static/service-switch.js @@ -19,10 +19,12 @@ const _SS_TABS = [ // Brand logos. Metadata pulls from SOURCE_LABELS (shared-helpers.js) when // available; server + download have their own small maps. const _SS_SERVER_INFO = { - plex: { name: 'Plex', logo: 'https://www.plex.tv/wp-content/themes/plex/assets/img/plex-logo.svg' }, + // `dark`: the logo is a white/light wordmark, so it needs a dark disc to be + // visible (it'd vanish on the default white disc). + plex: { name: 'Plex', logo: 'https://www.plex.tv/wp-content/themes/plex/assets/img/plex-logo.svg', dark: true }, jellyfin: { name: 'Jellyfin', logo: 'https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png' }, navidrome: { name: 'Navidrome', logo: 'https://tweakers.net/ext/i/2007323764.png' }, - soulsync: { name: 'SoulSync', logo: '/static/trans2.png' }, + soulsync: { name: 'SoulSync', logo: '/static/trans2.png', dark: true }, }; const _SS_META_FALLBACK = { spotify_free: { text: 'Spotify (no auth)', icon: '🆓', logo: 'https://storage.googleapis.com/pr-newsroom-wp/1/2023/05/Spotify_Primary_Logo_RGB_Green.png' }, @@ -122,7 +124,7 @@ function _ssRailCurrent(tabId) { } if (tabId === 'server') { const id = d.server.active; const info = _SS_SERVER_INFO[id] || { name: id }; - return { logo: info.logo, emoji: '🖥️', label: info.name, brand: _ssBrand(id) }; + return { logo: info.logo, emoji: '🖥️', label: info.name, brand: _ssBrand(id), dark: info.dark }; } const id = d.download.mode; if (id === 'hybrid') return { emoji: '🔀', label: 'Hybrid', brand: 'var(--accent-light-rgb-hex,#7c5cff)' }; @@ -143,7 +145,7 @@ function _ssRenderRail() { return `