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 ? `` : '
💿
';