diff --git a/src/views.js b/src/views.js
index 042403b..9fc615e 100644
--- a/src/views.js
+++ b/src/views.js
@@ -2,7 +2,7 @@ import { S } from './state.js';
import { esc, formatDur, toast } from './utils.js';
import { api, coverUrl, itunesSearch, itunesLookupAlbum, itunesLookupArtistSongs, itunesLookupArtistAlbums, itunesTopCharts, itunesTopSongs } from './api.js';
// Circular imports — safe (only used inside function bodies)
-import { playQueue, dlSongLocal, playPreview, toggleStar } from './player.js';
+import { playQueue, dlSongLocal, playPreview, toggleStar, parseArtists } from './player.js';
import { showCtxMenu, openEditPlModal, openDlModal, closeSidebar, switchNavMode } from './ui.js';
import { closeNowPlaying, closeNpMenu } from './nowplaying.js';
import { makeCard, makeAlbumCard, makeSongItem, makeGlobalTrackItem, mkSection } from './components.js';
@@ -624,11 +624,9 @@ export async function loadAlbumDetail(album) {
album._fromArtist ? navigate('artist-detail', album._fromArtist) : navigate('albums');
document.getElementById('album-detail-name').textContent = album.name;
const artistEl = document.getElementById('album-detail-artist');
- const albumArtistParts = (album.artist || '').split(/\s*(?:\/|•)\s*/).filter(Boolean);
- artistEl.innerHTML = albumArtistParts.map((name, i) => {
- const aid = i === 0 ? (album.artistId || '') : '';
- return `${esc(name)}`;
- }).join(' • ') || '';
+ artistEl.innerHTML = parseArtists(album)
+ .map(a => `${esc(a.name)}`)
+ .join(' • ') || '';
const cw = document.getElementById('album-cover-wrap');
const cv = coverUrl(album.coverArt, 512);
cw.innerHTML = cv ? `` : '