fix: artist hero appears instantly; album names skip romaji conversion
Hero now only waits for getArtist (fast local Navidrome) before revealing. getArtistImage (Last.fm lookup) was the 2-4s bottleneck when uncached — it now resolves async and patches in the artist photo after the hero is already visible. Album card, album detail header, and home hero now display the raw album name from Navidrome instead of converting to romaji when showRomaji is on. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
28489f722a
commit
8f7f1e2635
3 files changed
+43
-49
No files matched your search
@@ -8,7 +8,7 @@ window._imgRetry = function(img, fallback) {
|
||||
if (n > 3 || !img.src) { img.parentNode.innerHTML = `<div class="no-art">${fallback}</div>`; return; }
|
||||
setTimeout(() => { const s = img.src; img.src = ''; img.src = s; }, 1500 * n);
|
||||
};
|
||||
import { coverUrl, dispTitle, dispArtistParts, dispAlbum, dispArtistById, dispAlbumName } from '../api.js';
|
||||
import { coverUrl, dispTitle, dispArtistParts, dispArtistById } from '../api.js';
|
||||
// Circular imports — safe (only used inside event handlers after module init)
|
||||
import { playQueue, toggleStar, playPreview, parseArtists } from '../player/player.js';
|
||||
import { showCtxMenu, openDlModal } from './ui.js';
|
||||
@@ -28,7 +28,7 @@ export function makeCard(title, sub, imgUrl, fallback='💿') {
|
||||
|
||||
export function makeAlbumCard(a) {
|
||||
const cv = coverUrl(a.coverArt, 512);
|
||||
const c = makeCard(dispAlbumName(a.name), dispArtistById(a.artistId, a.artist||''), cv, '💿');
|
||||
const c = makeCard(a.name || '', dispArtistById(a.artistId, a.artist||''), cv, '💿');
|
||||
c.querySelector('.card-art').onclick = (e) => { e.stopPropagation(); quickPlayAlbum(a); };
|
||||
c.querySelector('.card-info').onclick = () => navigate('album-detail', a);
|
||||
return c;
|
||||
|
||||
Reference in new issue
Block a user