From 33911a7001131b8875b29529caf54d5489ae2603 Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Sat, 18 Apr 2026 09:00:55 -0700 Subject: [PATCH] Show Sync page in standalone mode, only hide sync buttons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Sync page was hidden entirely for standalone users, blocking access to playlist browsing, discovery, and downloads. Now the page is accessible — only the sync-to-server buttons are hidden since there's no server to push playlists to. --- webui/static/script.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/webui/static/script.js b/webui/static/script.js index 4ea19052..a9090e85 100644 --- a/webui/static/script.js +++ b/webui/static/script.js @@ -396,12 +396,9 @@ function handleServiceStatusUpdate(data) { // Update downloads nav badge from status push if (data.active_downloads !== undefined) _updateDlNavBadge(data.active_downloads); - // Hide sync-related UI for standalone mode (no server to sync playlists to) + // Hide sync buttons (not the page) for standalone mode — playlists still browsable/downloadable const isSoulsyncStandalone = data.media_server?.type === 'soulsync'; _isSoulsyncStandalone = isSoulsyncStandalone; - const syncNav = document.querySelector('[data-page="sync"]'); - if (syncNav) syncNav.style.display = isSoulsyncStandalone ? 'none' : ''; - // Hide all sync buttons across the app document.querySelectorAll('.sync-to-server-btn, [id$="-sync-btn"], [onclick*="startPlaylistSync"], [onclick*="syncPlaylistToServer"], [onclick*="startDecadeSync"]').forEach(btn => { btn.style.display = isSoulsyncStandalone ? 'none' : ''; }); @@ -39271,11 +39268,9 @@ async function fetchAndUpdateServiceStatus() { // Update downloads nav badge if (data.active_downloads !== undefined) _updateDlNavBadge(data.active_downloads); - // Hide sync-related UI for standalone mode + // Hide sync buttons (not the page) for standalone mode const isSoulsyncStandalone2 = data.media_server?.type === 'soulsync'; _isSoulsyncStandalone = isSoulsyncStandalone2; - const syncNav = document.querySelector('[data-page="sync"]'); - if (syncNav) syncNav.style.display = isSoulsyncStandalone2 ? 'none' : ''; document.querySelectorAll('.sync-to-server-btn, [id$="-sync-btn"], [onclick*="startPlaylistSync"], [onclick*="syncPlaylistToServer"], [onclick*="startDecadeSync"]').forEach(btn => { btn.style.display = isSoulsyncStandalone2 ? 'none' : ''; });