diff --git a/webui/static/script.js b/webui/static/script.js index b6953b4a..dbe909ce 100644 --- a/webui/static/script.js +++ b/webui/static/script.js @@ -36806,7 +36806,7 @@ async function openWatchlistArtistDetailView(artistId, artistName) { return; } - const { config, artist, recent_releases } = data; + const { config, artist, recent_releases, spotify_artist_id, itunes_artist_id, deezer_artist_id } = data; // Remove existing overlay if any const existing = document.querySelector('.watchlist-artist-detail-overlay'); @@ -36917,6 +36917,7 @@ async function openWatchlistArtistDetailView(artistId, artistName) {
+
@@ -36928,6 +36929,35 @@ async function openWatchlistArtistDetailView(artistId, artistName) { closeWatchlistArtistDetailView(); }); + overlay.querySelector('.watchlist-detail-discog-action').addEventListener('click', () => { + // Use the ID matching the active metadata source + let discogId, source; + const activeSrc = (currentMusicSourceName || '').toLowerCase(); + if (activeSrc.includes('spotify') && spotify_artist_id) { + discogId = spotify_artist_id; source = 'spotify'; + } else if (activeSrc.includes('deezer') && deezer_artist_id) { + discogId = deezer_artist_id; source = 'deezer'; + } else if (itunes_artist_id) { + discogId = itunes_artist_id; source = 'itunes'; + } else { + discogId = spotify_artist_id || deezer_artist_id || itunes_artist_id; + source = spotify_artist_id ? 'spotify' : deezer_artist_id ? 'deezer' : 'itunes'; + } + if (discogId) { + // Close watchlist modal + detail overlay + closeWatchlistArtistDetailView(); + closeWatchlistModal(); + // Navigate to Artists page and load discography + navigateToPage('artists'); + setTimeout(() => { + selectArtistForDetail( + { id: discogId, name: artistName, image_url: artist.image_url || '' }, + { source: source } + ); + }, 200); + } + }); + overlay.querySelector('.watchlist-detail-settings-action').addEventListener('click', () => { // Remove overlay immediately so it doesn't block the config modal const detailOverlay = document.querySelector('.watchlist-artist-detail-overlay'); diff --git a/webui/static/style.css b/webui/static/style.css index e959805f..250b5577 100644 --- a/webui/static/style.css +++ b/webui/static/style.css @@ -13452,13 +13452,23 @@ body.helper-mode-active #dashboard-activity-feed:hover { transform: scale(0.98); } -.watchlist-detail-settings-btn { - background: rgba(var(--accent-rgb), 0.15); +.watchlist-detail-discog-btn { + background: rgba(var(--accent-rgb), 0.2); color: rgb(var(--accent-rgb)); + font-weight: 600; +} + +.watchlist-detail-discog-btn:hover { + background: rgba(var(--accent-rgb), 0.35); +} + +.watchlist-detail-settings-btn { + background: rgba(255, 255, 255, 0.06); + color: rgba(255, 255, 255, 0.7); } .watchlist-detail-settings-btn:hover { - background: rgba(var(--accent-rgb), 0.25); + background: rgba(255, 255, 255, 0.12); } .watchlist-detail-remove-btn {