diff --git a/webui/index.html b/webui/index.html index 1b9c2694..4e5d3afc 100644 --- a/webui/index.html +++ b/webui/index.html @@ -626,7 +626,7 @@

Response: --

diff --git a/webui/static/core.js b/webui/static/core.js index 3a23cb53..4e3b6ad8 100644 --- a/webui/static/core.js +++ b/webui/static/core.js @@ -885,4 +885,8 @@ const API = { let _lastServiceStatus = null; let _isSoulsyncStandalone = false; // Global flag: true when no media server (sync buttons hidden) +function getActiveMetadataSource() { + return _lastServiceStatus?.spotify?.source || 'spotify'; +} + // =============================== diff --git a/webui/static/shared-helpers.js b/webui/static/shared-helpers.js index 6fed9d88..29b2a1fa 100644 --- a/webui/static/shared-helpers.js +++ b/webui/static/shared-helpers.js @@ -3323,6 +3323,20 @@ function updateServiceStatus(service, statusData) { } syncPrimaryMetadataSourceAvailability(statusData); + + const responseTimeElement = document.getElementById('spotify-response-time'); + if (responseTimeElement) { + const responseTime = statusData.response_time; + responseTimeElement.textContent = responseTime !== undefined && responseTime !== null + ? `Response: ${responseTime}ms` + : 'Response: --'; + } + + const testButton = document.querySelector('#spotify-service-card .service-card-button'); + if (testButton) { + const source = statusData.source || 'spotify'; + testButton.setAttribute('onclick', `testDashboardConnection('${source}')`); + } } // Update download source title on dashboard card