diff --git a/luci-app-secubox/htdocs/luci-static/resources/view/secubox/apps.js b/luci-app-secubox/htdocs/luci-static/resources/view/secubox/apps.js index 34e7b9af..797734ab 100644 --- a/luci-app-secubox/htdocs/luci-static/resources/view/secubox/apps.js +++ b/luci-app-secubox/htdocs/luci-static/resources/view/secubox/apps.js @@ -44,9 +44,17 @@ return view.extend({ refreshData: function() { var self = this; return API.getAppstoreApps().then(function(data) { + if (!data) { + console.warn('getAppstoreApps returned empty data'); + return { apps: [], categories: {} }; + } self.appsData = data.apps || []; self.categoriesData = data.categories || {}; return data; + }).catch(function(err) { + console.error('Error loading appstore apps:', err); + ui.addNotification(null, E('p', _('Failed to load app store: ') + err.message), 'error'); + return { apps: [], categories: {} }; }); }, diff --git a/luci-app-secubox/htdocs/luci-static/resources/view/secubox/modules.js b/luci-app-secubox/htdocs/luci-static/resources/view/secubox/modules.js index be29f58b..f0aa26d1 100644 --- a/luci-app-secubox/htdocs/luci-static/resources/view/secubox/modules.js +++ b/luci-app-secubox/htdocs/luci-static/resources/view/secubox/modules.js @@ -43,14 +43,22 @@ return view.extend({ refreshData: function() { var self = this; return API.getModules().then(function(data) { + if (!data) { + console.warn('getModules returned empty data'); + return { modules: [] }; + } self.modulesData = data.modules || []; return data; + }).catch(function(err) { + console.error('Error loading modules:', err); + ui.addNotification(null, E('p', _('Failed to load modules: ') + err.message), 'error'); + return { modules: [] }; }); }, render: function(data) { var self = this; - var modules = this.modulesData; + var modules = (data && data.modules) || this.modulesData || []; var defaultFilter = this.currentFilter || 'all'; var container = E('div', {