Procházet zdrojové kódy

fix settings loading

tuanchris před 3 měsíci
rodič
revize
eb674605e7
1 změnil soubory, kde provedl 10 přidání a 2 odebrání
  1. 10 2
      static/js/settings.js

+ 10 - 2
static/js/settings.js

@@ -7,6 +7,14 @@ const LOG_TYPE = {
     DEBUG: 'debug'
     DEBUG: 'debug'
 };
 };
 
 
+// Helper function to convert provider name to camelCase for ID lookup
+// e.g., "dw_leds" -> "DwLeds", "wled" -> "Wled", "none" -> "None"
+function providerToCamelCase(provider) {
+    return provider.split('_').map(word =>
+        word.charAt(0).toUpperCase() + word.slice(1)
+    ).join('');
+}
+
 // Constants for cache
 // Constants for cache
 const CACHE_KEYS = {
 const CACHE_KEYS = {
     CONNECTION_STATUS: 'connection_status',
     CONNECTION_STATUS: 'connection_status',
@@ -179,7 +187,7 @@ async function loadLedConfig() {
             const data = await response.json();
             const data = await response.json();
 
 
             // Set provider radio button
             // Set provider radio button
-            const providerRadio = document.getElementById(`ledProvider${data.provider.charAt(0).toUpperCase() + data.provider.slice(1)}`);
+            const providerRadio = document.getElementById(`ledProvider${providerToCamelCase(data.provider)}`);
             if (providerRadio) {
             if (providerRadio) {
                 providerRadio.checked = true;
                 providerRadio.checked = true;
             } else {
             } else {
@@ -261,7 +269,7 @@ document.addEventListener('DOMContentLoaded', async () => {
         updateConnectionUI(statusData);
         updateConnectionUI(statusData);
 
 
         // Update LED configuration
         // Update LED configuration
-        const providerRadio = document.getElementById(`ledProvider${ledConfigData.provider.charAt(0).toUpperCase() + ledConfigData.provider.slice(1)}`);
+        const providerRadio = document.getElementById(`ledProvider${providerToCamelCase(ledConfigData.provider)}`);
         if (providerRadio) {
         if (providerRadio) {
             providerRadio.checked = true;
             providerRadio.checked = true;
         } else {
         } else {