fix: persist quality metadata and display HD badge in queue

This commit is contained in:
Julien Maille 2026-01-30 22:23:40 +01:00
parent d52ed226fa
commit 50cd138f3b
2 changed files with 6 additions and 1 deletions

View file

@ -218,6 +218,7 @@ export class MusicDatabase {
vibrantColor: item.album.vibrantColor || null,
artist: item.album.artist || null,
numberOfTracks: item.album.numberOfTracks || null,
mediaMetadata: item.album.mediaMetadata ? { tags: item.album.mediaMetadata.tags } : null,
}
: null,
copyright: item.copyright || null,
@ -232,6 +233,8 @@ export class MusicDatabase {
isTracker: item.isTracker || (item.id && String(item.id).startsWith('tracker-')),
audioUrl: item.remoteUrl || item.audioUrl || null,
remoteUrl: item.remoteUrl || null,
audioQuality: item.audioQuality || null,
mediaMetadata: item.mediaMetadata ? { tags: item.mediaMetadata.tags } : null,
};
}

View file

@ -8,6 +8,7 @@ import {
getTrackTitle,
getTrackArtists,
escapeHtml,
createQualityBadgeHTML,
} from './utils.js';
import { sidePanelManager } from './side-panel.js';
import { downloadQualitySettings } from './storage.js';
@ -251,6 +252,7 @@ export function initializeUIInteractions(player, api, ui) {
const isPlaying = index === player.currentQueueIndex;
const trackTitle = getTrackTitle(track);
const trackArtists = getTrackArtists(track, { fallback: 'Unknown' });
const qualityBadge = createQualityBadgeHTML(track);
return `
<div class="queue-track-item ${isPlaying ? 'playing' : ''}" data-queue-index="${index}" data-track-id="${track.id}" draggable="true">
@ -264,7 +266,7 @@ export function initializeUIInteractions(player, api, ui) {
<img src="${api.getCoverUrl(track.album?.cover)}"
class="track-item-cover" loading="lazy">
<div class="track-item-details">
<div class="title">${escapeHtml(trackTitle)}</div>
<div class="title">${escapeHtml(trackTitle)} ${qualityBadge}</div>
<div class="artist">${escapeHtml(trackArtists)}</div>
</div>
</div>