diff --git a/src/ui.js b/src/ui.js index 9c44f97..4fefb00 100644 --- a/src/ui.js +++ b/src/ui.js @@ -272,7 +272,23 @@ export async function showSongInfo(s) { try { const r = await api('getSong', `&id=${s.id}`); const full = r.song; - if (full) { S.infoSong = full; _renderInfoModal(full); } + if (full) { + S.infoSong = full; + _renderInfoModal(full); + // If edit mode was already opened before getSong returned, refresh the fields + // so the form shows the authoritative data (albumArtist, etc.) from Navidrome + if (document.getElementById('info-edit-mode').style.display !== 'none') { + document.getElementById('ie-title').value = full.title || ''; + document.getElementById('ie-artist').value = full.artist || ''; + document.getElementById('ie-albumartist').value = full.albumArtist || ''; + document.getElementById('ie-album').value = full.album || ''; + document.getElementById('ie-genre').value = full.genre || ''; + document.getElementById('ie-year').value = full.year || ''; + document.getElementById('ie-track').value = full.track || ''; + document.getElementById('ie-disc').value = full.discNumber || ''; + document.getElementById('ie-totaltracks').value = full.albumSongCount || ''; + } + } } catch {} } export function closeInfoModal() {