From 1277913ac1b3324d6e998e0f192248747c62499d Mon Sep 17 00:00:00 2001 From: Honey Date: Fri, 5 Jun 2026 00:50:06 +0200 Subject: [PATCH] fix: apply romaji overrides in dispArtist/dispAlbum/dispTitle display functions Co-Authored-By: Claude Sonnet 4.6 --- src/api.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/api.js b/src/api.js index 838134a..90b3f32 100644 --- a/src/api.js +++ b/src/api.js @@ -124,16 +124,24 @@ export function romajiLookup(id) { return _romajiMap?.get(String(id)) ?? null; } // Display helpers — return romaji when showRomaji is on and the song is in the index, // otherwise fall back to the original Navidrome values. +// Overrides (localStorage) always take priority over auto-converted index values. export function dispTitle(s) { if (!S.cfg.showRomaji) return s.title || ''; + const ov = getRomajiOverrides(); + if (s.title && ov[s.title]) return ov[s.title]; return romajiLookup(s.id)?.titleRomaji || s.title || ''; } export function dispArtist(s) { if (!S.cfg.showRomaji) return s.artist || ''; + const ov = getRomajiOverrides(); + if (s.artist && ov[s.artist]) return ov[s.artist]; + if (s.albumArtist && ov[s.albumArtist]) return ov[s.albumArtist]; return romajiLookup(s.id)?.artistRomaji || s.artist || ''; } export function dispAlbum(s) { if (!S.cfg.showRomaji) return s.album || ''; + const ov = getRomajiOverrides(); + if (s.album && ov[s.album]) return ov[s.album]; return romajiLookup(s.id)?.albumRomaji || s.album || ''; } // Returns [{name, id}] like parseArtists but with romaji display names when showRomaji is on. @@ -141,6 +149,9 @@ export function dispAlbum(s) { export function dispArtistParts(s, parseArtistsFn) { const parts = parseArtistsFn(s); if (!S.cfg.showRomaji) return parts; + const ov = getRomajiOverrides(); + if (s.artist && ov[s.artist]) return [{ name: ov[s.artist], id: parts[0]?.id || '' }]; + if (s.albumArtist && ov[s.albumArtist]) return [{ name: ov[s.albumArtist], id: parts[0]?.id || '' }]; const info = romajiLookup(s.id); if (!info?.artistRomaji) return parts; return [{ name: info.artistRomaji, id: parts[0]?.id || '' }];