From 23ada605448818bf9f7604a7cc0267659114b8ab Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Fri, 16 Jan 2026 15:43:18 -0500 Subject: [PATCH] Fix/plugins manager syntax error (#192) * chore: Update basketball-scoreboard submodule for odds font fix * fix(plugins): Add missing closing brace in file-upload widget if block Fixed syntax error where the if statement starting at line 2949 was missing its closing brace before the else if statement. This caused 'Unexpected token else' error at line 3257 when parsing the loadCustomHtmlWidget function. The fix adds the missing closing brace at line 3048 to properly close the if block before the else if chain continues. * fix(plugins): Resolve unmatched else if syntax error in plugins_manager.js - Fixed indentation of else if chain for custom-feeds widget (line 3203) - Fixed indentation of final else block (line 3240) - Added missing closing brace to properly close array handling block (line 3257) - Resolves 'Unexpected token else' syntax error at line 3257 - Allows plugin store to load correctly * fix: Update plugins_manager.js cache-busting version to force reload of syntax fix --------- Co-authored-by: Chuck --- web_interface/static/v3/plugins_manager.js | 8 ++++---- web_interface/templates/v3/base.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web_interface/static/v3/plugins_manager.js b/web_interface/static/v3/plugins_manager.js index 45cbdcb4..50eb5675 100644 --- a/web_interface/static/v3/plugins_manager.js +++ b/web_interface/static/v3/plugins_manager.js @@ -3164,8 +3164,7 @@ function generateFieldHtml(key, prop, value, prefix = '') { data-file-type="${fileType}"> `; - } - } else if (xWidgetValue === 'checkbox-group' || xWidgetValue2 === 'checkbox-group') { + } else if (xWidgetValue === 'checkbox-group' || xWidgetValue2 === 'checkbox-group') { // Checkbox group widget for multi-select arrays with enum items // Use _data hidden input pattern to serialize selected values correctly console.log(`[DEBUG] ✅ Detected checkbox-group widget for ${fullKey} - rendering checkboxes`); @@ -3201,7 +3200,7 @@ function generateFieldHtml(key, prop, value, prefix = '') { // Sentinel hidden input with bracket notation to allow clearing array to [] when all unchecked // This ensures the field is always submitted, even when all checkboxes are unchecked html += ``; - } else if (xWidgetValue === 'custom-feeds' || xWidgetValue2 === 'custom-feeds') { + } else if (xWidgetValue === 'custom-feeds' || xWidgetValue2 === 'custom-feeds') { // Custom feeds widget - check schema validation first const itemsSchema = prop.items || {}; const itemProperties = itemsSchema.properties || {}; @@ -3238,7 +3237,7 @@ function generateFieldHtml(key, prop, value, prefix = '') {

Enter values separated by commas (custom feeds table rendered server-side)

`; } - } else { + } else { // Regular array input (comma-separated) console.log(`[DEBUG] ❌ No special widget detected for ${fullKey}, using regular array input`); // Handle null/undefined values - use default if available @@ -3254,6 +3253,7 @@ function generateFieldHtml(key, prop, value, prefix = '') {

Enter values separated by commas

`; + } } } else if (prop.enum) { html += `