diff --git a/webui/static/script.js b/webui/static/script.js index 38ed34f3..dc88a497 100644 --- a/webui/static/script.js +++ b/webui/static/script.js @@ -74151,20 +74151,29 @@ async function loadServerPlaylists() { return; } - // Only show server playlists that have a matching mirrored playlist or sync history entry + // Separate synced vs non-synced playlists const mirroredNames = new Set(mirroredAll.map(p => p.name.trim().toLowerCase())); const syncedNames = new Set(historyNames.map(n => n.trim().toLowerCase())); - const filtered = data.playlists.filter(pl => { + const synced = []; + const unsynced = []; + for (const pl of data.playlists) { const key = pl.name.trim().toLowerCase(); - return mirroredNames.has(key) || syncedNames.has(key); - }); + if (mirroredNames.has(key) || syncedNames.has(key)) { + pl._synced = true; + synced.push(pl); + } else { + pl._synced = false; + unsynced.push(pl); + } + } - _serverPlaylists = filtered; + _serverPlaylists = [...synced, ...unsynced]; const title = document.getElementById('server-tab-title'); - if (title) title.textContent = `Server Playlists (${data.server_type ? data.server_type.charAt(0).toUpperCase() + data.server_type.slice(1) : ''})`; + const serverName = data.server_type ? data.server_type.charAt(0).toUpperCase() + data.server_type.slice(1) : ''; + if (title) title.textContent = `Server Playlists (${serverName})`; - if (filtered.length === 0) { - if (container) container.innerHTML = '