fix: use parseArtists() on album detail page — stops Au/Ra splitting on /
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
467ee8a0fe
commit
a6e6af0333
1 file changed
+4
-6
+4
-6
@@ -2,7 +2,7 @@ import { S } from './state.js';
|
|||||||
import { esc, formatDur, toast } from './utils.js';
|
import { esc, formatDur, toast } from './utils.js';
|
||||||
import { api, coverUrl, itunesSearch, itunesLookupAlbum, itunesLookupArtistSongs, itunesLookupArtistAlbums, itunesTopCharts, itunesTopSongs } from './api.js';
|
import { api, coverUrl, itunesSearch, itunesLookupAlbum, itunesLookupArtistSongs, itunesLookupArtistAlbums, itunesTopCharts, itunesTopSongs } from './api.js';
|
||||||
// Circular imports — safe (only used inside function bodies)
|
// 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 { showCtxMenu, openEditPlModal, openDlModal, closeSidebar, switchNavMode } from './ui.js';
|
||||||
import { closeNowPlaying, closeNpMenu } from './nowplaying.js';
|
import { closeNowPlaying, closeNpMenu } from './nowplaying.js';
|
||||||
import { makeCard, makeAlbumCard, makeSongItem, makeGlobalTrackItem, mkSection } from './components.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');
|
album._fromArtist ? navigate('artist-detail', album._fromArtist) : navigate('albums');
|
||||||
document.getElementById('album-detail-name').textContent = album.name;
|
document.getElementById('album-detail-name').textContent = album.name;
|
||||||
const artistEl = document.getElementById('album-detail-artist');
|
const artistEl = document.getElementById('album-detail-artist');
|
||||||
const albumArtistParts = (album.artist || '').split(/\s*(?:\/|•)\s*/).filter(Boolean);
|
artistEl.innerHTML = parseArtists(album)
|
||||||
artistEl.innerHTML = albumArtistParts.map((name, i) => {
|
.map(a => `<span class="song-link" onclick="event.stopPropagation();s_goArtist(event,'${esc(a.name)}','${esc(a.id||'')}')">${esc(a.name)}</span>`)
|
||||||
const aid = i === 0 ? (album.artistId || '') : '';
|
.join('<span style="color:var(--text3)"> • </span>') || '';
|
||||||
return `<span class="song-link" onclick="event.stopPropagation();s_goArtist(event,'${esc(name)}','${esc(aid)}')">${esc(name)}</span>`;
|
|
||||||
}).join('<span style="color:var(--text3)"> • </span>') || '';
|
|
||||||
const cw = document.getElementById('album-cover-wrap');
|
const cw = document.getElementById('album-cover-wrap');
|
||||||
const cv = coverUrl(album.coverArt, 512);
|
const cv = coverUrl(album.coverArt, 512);
|
||||||
cw.innerHTML = cv ? `<img src="${cv}" onerror="this.parentNode.innerHTML='<div class=\\'no-art\\'>💿</div>'">` : '<div class="no-art">💿</div>';
|
cw.innerHTML = cv ? `<img src="${cv}" onerror="this.parentNode.innerHTML='<div class=\\'no-art\\'>💿</div>'">` : '<div class="no-art">💿</div>';
|
||||||
|
|||||||
Reference in new issue
Block a user