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 {