diff --git a/src/api.js b/src/api.js
index 6a73194..69f15b3 100644
--- a/src/api.js
+++ b/src/api.js
@@ -178,11 +178,11 @@ 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 || '' }];
+ if (s.artist && ov[s.artist]) return [{ name: ov[s.artist], originalName: s.artist, id: parts[0]?.id || '' }];
+ if (s.albumArtist && ov[s.albumArtist]) return [{ name: ov[s.albumArtist], originalName: s.albumArtist, id: parts[0]?.id || '' }];
const info = romajiLookup(s.id);
if (!info?.artistRomaji) return parts;
- return [{ name: info.artistRomaji, id: parts[0]?.id || '' }];
+ return [{ name: info.artistRomaji, originalName: s.artist || parts[0]?.name || '', id: parts[0]?.id || '' }];
}
export async function romajiConvert(texts) {
diff --git a/src/components.js b/src/components.js
index 14264d4..8994833 100644
--- a/src/components.js
+++ b/src/components.js
@@ -45,7 +45,7 @@ export function makeSongItem(s, idx, list, { noArtistLink = false } = {}) {
const artistHtml = artistParts.length
? artistParts.map(a => noArtistLink
? `${esc(a.name)}`
- : `${esc(a.name)}`
+ : `${esc(a.name)}`
).join(' • ')
: '';
diff --git a/src/main.js b/src/main.js
index ff6e651..ea9259f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -96,8 +96,7 @@ async function startApp() {
if (bnav) bnav.style.display = '';
absLoadSettingsLibraries();
}
- loadRomajiOverrides().catch(() => {}); // fire-and-forget — cache for dispArtist/dispAlbum/dispTitle
- if (S.cfg.showRomaji) fetchRomajiIndex().catch(() => {}); // fire-and-forget — don't block navigation
+ if (S.cfg.showRomaji) fetchRomajiIndex().catch(() => {});
if(_navLoad() && S._navCursor >= 0 && S._navStack[S._navCursor]) {
const last = S._navStack[S._navCursor];
S._navJumping = true;
@@ -107,7 +106,8 @@ async function startApp() {
navigate('home');
}
initNotifBell();
- _restoreLastPlayed();
+ // Wait for overrides before restoring player bar so disp* functions have the cache ready
+ loadRomajiOverrides().catch(() => {}).then(() => { _restoreLastPlayed(); });
if(localStorage.getItem('ns_radio')==='1') { S.radioMode=true; _applyRadioBtn(); }
const sr = localStorage.getItem('ns_repeat');
if(sr === 'all' || sr === 'one') S.repeat = sr;
diff --git a/src/player.js b/src/player.js
index 9a86778..27cb365 100644
--- a/src/player.js
+++ b/src/player.js
@@ -447,7 +447,7 @@ export function updatePlayerUI(s, _skipMediaSession = false) {
document.getElementById('player-title').textContent = dispTitle(s);
const artistParts = dispArtistParts(s, parseArtists);
document.getElementById('player-artist-name').innerHTML = artistParts.length
- ? artistParts.map(a => `${esc(a.name)}`)
+ ? artistParts.map(a => `${esc(a.name)}`)
.join(' • ')
: '—';
document.getElementById('player-album-name').textContent = dispAlbum(s);
@@ -569,7 +569,7 @@ export function _syncNpDirect(s) {
if(an) {
const parts = dispArtistParts(s, parseArtists);
an.innerHTML = parts.length
- ? parts.map(a => `${esc(a.name)}`)
+ ? parts.map(a => `${esc(a.name)}`)
.join(' • ')
: '—';
}
diff --git a/src/views.js b/src/views.js
index 374f40d..df384f1 100644
--- a/src/views.js
+++ b/src/views.js
@@ -653,7 +653,7 @@ export async function loadAlbumDetail(album) {
document.getElementById('album-detail-name').textContent = album.name;
const artistEl = document.getElementById('album-detail-artist');
artistEl.innerHTML = parseArtists(album)
- .map(a => `${esc(a.name)}`)
+ .map(a => `${esc(a.name)}`)
.join(' • ') || '';
const cw = document.getElementById('album-cover-wrap');
const cv = coverUrl(album.coverArt, 512);