From 23e8a7ddfb5ffab95e637cba312fc10d09f0f65c Mon Sep 17 00:00:00 2001 From: Honey Date: Tue, 28 Apr 2026 09:49:43 +0200 Subject: [PATCH] fix: fetch full song metadata for info modal via getSong API Renders immediately with available data, then enriches with complete metadata (genre, bitrate, path, plays, etc.) from getSong response. Co-Authored-By: Claude Sonnet 4.6 --- src/ui.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ui.js b/src/ui.js index 4a321c6..350886d 100644 --- a/src/ui.js +++ b/src/ui.js @@ -199,7 +199,7 @@ document.addEventListener('click', e => { }); // ─── SONG INFO MODAL ─── -export function showSongInfo(s) { +function _renderInfoModal(s) { const cv = coverUrl(s.coverArt, 200); document.getElementById('info-cover').innerHTML = cv ? `` @@ -224,7 +224,16 @@ export function showSongInfo(s) { document.getElementById('info-rows').innerHTML = fields.map(([l,v]) => `
${l}${esc(String(v))}
` ).join(''); +} + +export async function showSongInfo(s) { document.getElementById('info-modal').classList.add('open'); + _renderInfoModal(s); + try { + const r = await api('getSong', `&id=${s.id}`); + const full = r.song; + if (full) _renderInfoModal(full); + } catch {} } export function closeInfoModal() { document.getElementById('info-modal').classList.remove('open'); } document.addEventListener('click', e => {