From ccdcda74ecbf806b494e3541367ff1edfa8d8d01 Mon Sep 17 00:00:00 2001 From: Honey Date: Fri, 5 Jun 2026 23:43:27 +0200 Subject: [PATCH] fix: apply romaji overrides to album cards on home/albums/artist views Co-Authored-By: Claude Sonnet 4.6 --- src/api.js | 11 +++++++++-- src/components.js | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/api.js b/src/api.js index 179c433..6a73194 100644 --- a/src/api.js +++ b/src/api.js @@ -136,8 +136,15 @@ export async function removeRomajiOverride(kanji) { } export function dispArtistById(id, name) { - if (!S.cfg.showRomaji || !_artistRomajiMap) return name || ''; - return _artistRomajiMap.get(String(id)) || name || ''; + if (!S.cfg.showRomaji) return name || ''; + const ov = getRomajiOverrides(); + if (name && ov[name]) return ov[name]; + return _artistRomajiMap?.get(String(id)) || name || ''; +} +export function dispAlbumName(name) { + if (!S.cfg.showRomaji) return name || ''; + const ov = getRomajiOverrides(); + return ov[name] || name || ''; } // Synchronous lookup — returns index entry for a song ID, or null if not in index. diff --git a/src/components.js b/src/components.js index 681ac29..14264d4 100644 --- a/src/components.js +++ b/src/components.js @@ -8,7 +8,7 @@ window._imgRetry = function(img, fallback) { if (n > 3 || !img.src) { img.parentNode.innerHTML = `
${fallback}
`; return; } setTimeout(() => { const s = img.src; img.src = ''; img.src = s; }, 1500 * n); }; -import { coverUrl, dispTitle, dispArtistParts, dispAlbum } from './api.js'; +import { coverUrl, dispTitle, dispArtistParts, dispAlbum, dispArtistById, dispAlbumName } from './api.js'; // Circular imports — safe (only used inside event handlers after module init) import { playQueue, toggleStar, playPreview, parseArtists } from './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(a.name, a.artist||'', cv, '💿'); + const c = makeCard(dispAlbumName(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;