secubox-openwrt/luci-app-secubox/htdocs/luci-static/resources
CyberMind-FR 1002c4a53b fix: add missing getTheme() function to theme.js
Fixed TypeError: Theme.getTheme is not a function error in settings.js

Problem:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- settings.js calls Theme.getTheme() on line 14
- theme.js did not export getTheme() function
- Error: TypeError: Theme.getTheme is not a function
- SecuBox settings page failed to load

Solution:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Added getTheme() function to theme.js module:
- Returns Promise that resolves with theme preference
- Calls API.getTheme() to fetch theme from backend
- Returns 'dark' as fallback if API call fails
- Consistent with other theme module functions

Implementation:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```javascript
/**
 * Get theme preference from backend
 * @returns {Promise<string>} Theme preference ('dark', 'light', or 'system')
 */
getTheme: function() {
    return API.getTheme().then(function(data) {
        return data.theme || 'dark';
    }).catch(function(err) {
        console.error('Failed to load theme preference:', err);
        return 'dark';
    });
}
```

Module now exports 4 functions:
1. init() - Initialize theme system
2. applyTheme(theme) - Apply theme to page
3. getCurrentTheme() - Get effective theme from DOM
4. getTheme() - Get theme preference from backend (NEW)

Testing:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Deployed to router
 Permissions fixed (644)
 Cache cleared
 Services restarted

Test URL: https://192.168.8.191/cgi-bin/luci/admin/secubox/settings

Files Modified:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
* luci-app-secubox/htdocs/luci-static/resources/secubox/theme.js (+13 lines)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 20:55:14 +01:00
..
secubox fix: add missing getTheme() function to theme.js 2025-12-26 20:55:14 +01:00
view/secubox release: v0.2.2 - Design System v0.3.0 & Comprehensive Documentation 2025-12-26 18:55:19 +01:00