From 0d547255d953fe1868d05c55484a1244f9a963a3 Mon Sep 17 00:00:00 2001
From: Broque Thomas <26755000+Nezreka@users.noreply.github.com>
Date: Wed, 11 Mar 2026 18:33:11 -0700
Subject: [PATCH] Move Soulseek settings to Download Source section &
conditional source visibility
---
webui/index.html | 67 +++++++++++++++++++++---------------------
webui/static/script.js | 27 +++++++++++++----
2 files changed, 56 insertions(+), 38 deletions(-)
diff --git a/webui/index.html b/webui/index.html
index b4fff039..1d6f97f3 100644
--- a/webui/index.html
+++ b/webui/index.html
@@ -3273,36 +3273,6 @@
-
-
-
Soulseek
-
-
-
-
-
-
-
-
- How long to search
- for tracks (15-300 seconds)
-
-
-
-
- Extra time to wait
- for late results (5-60 seconds)
-
-
@@ -3422,8 +3392,6 @@
-
-
+
+
+
+
+
+
+
+
+
+
+ How long to search
+ for tracks (15-300 seconds)
+
+
+
+
+ Extra time to wait
+ for late results (5-60 seconds)
+
+
+
+
+
+
diff --git a/webui/static/script.js b/webui/static/script.js
index 6b06272a..d522e06b 100644
--- a/webui/static/script.js
+++ b/webui/static/script.js
@@ -4738,19 +4738,33 @@ function toggleServer(serverType) {
function updateDownloadSourceUI() {
const mode = document.getElementById('download-source-mode').value;
const hybridContainer = document.getElementById('hybrid-settings-container');
+ const soulseekContainer = document.getElementById('soulseek-settings-container');
const tidalContainer = document.getElementById('tidal-download-settings-container');
const qobuzContainer = document.getElementById('qobuz-settings-container');
const youtubeContainer = document.getElementById('youtube-settings-container');
hybridContainer.style.display = mode === 'hybrid' ? 'block' : 'none';
- tidalContainer.style.display = (mode === 'tidal' || mode === 'hybrid') ? 'block' : 'none';
- qobuzContainer.style.display = (mode === 'qobuz' || mode === 'hybrid') ? 'block' : 'none';
- youtubeContainer.style.display = (mode === 'youtube' || mode === 'hybrid') ? 'block' : 'none';
- if (mode === 'tidal' || mode === 'hybrid') {
+ // Determine which sources are active
+ let activeSources = new Set();
+ if (mode === 'hybrid') {
+ const primary = document.getElementById('hybrid-primary-source').value;
+ const secondary = document.getElementById('hybrid-secondary-source').value;
+ activeSources.add(primary);
+ activeSources.add(secondary);
+ } else {
+ activeSources.add(mode);
+ }
+
+ soulseekContainer.style.display = activeSources.has('soulseek') ? 'block' : 'none';
+ tidalContainer.style.display = activeSources.has('tidal') ? 'block' : 'none';
+ qobuzContainer.style.display = activeSources.has('qobuz') ? 'block' : 'none';
+ youtubeContainer.style.display = activeSources.has('youtube') ? 'block' : 'none';
+
+ if (activeSources.has('tidal')) {
checkTidalDownloadAuthStatus();
}
- if (mode === 'qobuz' || mode === 'hybrid') {
+ if (activeSources.has('qobuz')) {
checkQobuzAuthStatus();
}
}
@@ -4779,6 +4793,9 @@ function updateHybridSecondaryOptions() {
if (currentValue !== primary) {
secondary.value = currentValue;
}
+
+ // Refresh source-specific settings visibility based on new primary/secondary
+ updateDownloadSourceUI();
}
// ===============================