feat: Add Portal, Hub, Admin sections to portal navigation
Update portal.js sections to include: - Portal (home page) - Hub (SecuBox dashboard) - Admin (Admin Control Panel) - Security, Network, Monitoring, System (existing) Update index.js to render Portal/Hub/Admin as links to separate pages while keeping Security/Network/Monitoring/System as tabs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3e86952d48
commit
229afecffb
@ -190,35 +190,54 @@ return baseclass.extend({
|
|||||||
|
|
||||||
// Section definitions
|
// Section definitions
|
||||||
sections: {
|
sections: {
|
||||||
'dashboard': {
|
'portal': {
|
||||||
id: 'dashboard',
|
id: 'portal',
|
||||||
name: 'Dashboard',
|
name: 'Portal',
|
||||||
icon: '\ud83c\udfe0',
|
icon: '\ud83c\udfe0',
|
||||||
|
path: 'admin/secubox/portal',
|
||||||
order: 1
|
order: 1
|
||||||
},
|
},
|
||||||
|
'hub': {
|
||||||
|
id: 'hub',
|
||||||
|
name: 'Hub',
|
||||||
|
icon: '\ud83d\ude80',
|
||||||
|
path: 'admin/secubox/dashboard',
|
||||||
|
order: 2
|
||||||
|
},
|
||||||
|
'admin': {
|
||||||
|
id: 'admin',
|
||||||
|
name: 'Admin',
|
||||||
|
icon: '\ud83c\udfdb\ufe0f',
|
||||||
|
path: 'admin/secubox/admin/dashboard',
|
||||||
|
order: 3
|
||||||
|
},
|
||||||
'security': {
|
'security': {
|
||||||
id: 'security',
|
id: 'security',
|
||||||
name: 'Security',
|
name: 'Security',
|
||||||
icon: '\ud83d\udee1\ufe0f',
|
icon: '\ud83d\udee1\ufe0f',
|
||||||
order: 2
|
path: 'admin/secubox/security',
|
||||||
|
order: 4
|
||||||
},
|
},
|
||||||
'network': {
|
'network': {
|
||||||
id: 'network',
|
id: 'network',
|
||||||
name: 'Network',
|
name: 'Network',
|
||||||
icon: '\ud83c\udf10',
|
icon: '\ud83c\udf10',
|
||||||
order: 3
|
path: 'admin/secubox/network',
|
||||||
|
order: 5
|
||||||
},
|
},
|
||||||
'monitoring': {
|
'monitoring': {
|
||||||
id: 'monitoring',
|
id: 'monitoring',
|
||||||
name: 'Monitoring',
|
name: 'Monitoring',
|
||||||
icon: '\ud83d\udcca',
|
icon: '\ud83d\udcca',
|
||||||
order: 4
|
path: 'admin/secubox/monitoring',
|
||||||
|
order: 6
|
||||||
},
|
},
|
||||||
'system': {
|
'system': {
|
||||||
id: 'system',
|
id: 'system',
|
||||||
name: 'System',
|
name: 'System',
|
||||||
icon: '\u2699\ufe0f',
|
icon: '\u2699\ufe0f',
|
||||||
order: 5
|
path: 'admin/secubox/system',
|
||||||
|
order: 7
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -116,6 +116,9 @@ return view.extend({
|
|||||||
renderHeader: function() {
|
renderHeader: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var sections = portal.getSections();
|
var sections = portal.getSections();
|
||||||
|
// Sections that link to other pages vs tabs within portal
|
||||||
|
var linkSections = ['portal', 'hub', 'admin'];
|
||||||
|
var tabSections = ['security', 'network', 'monitoring', 'system'];
|
||||||
|
|
||||||
return E('div', { 'class': 'sb-portal-header' }, [
|
return E('div', { 'class': 'sb-portal-header' }, [
|
||||||
// Brand
|
// Brand
|
||||||
@ -127,8 +130,19 @@ return view.extend({
|
|||||||
// Navigation
|
// Navigation
|
||||||
E('nav', { 'class': 'sb-portal-nav' },
|
E('nav', { 'class': 'sb-portal-nav' },
|
||||||
sections.map(function(section) {
|
sections.map(function(section) {
|
||||||
|
// Portal, Hub, Admin are links to other pages
|
||||||
|
if (linkSections.indexOf(section.id) !== -1) {
|
||||||
|
return E('a', {
|
||||||
|
'class': 'sb-portal-nav-item' + (section.id === 'portal' ? ' active' : ''),
|
||||||
|
'href': L.url(section.path)
|
||||||
|
}, [
|
||||||
|
E('span', { 'class': 'sb-portal-nav-icon' }, section.icon),
|
||||||
|
section.name
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
// Security, Network, Monitoring, System are tabs within portal
|
||||||
return E('button', {
|
return E('button', {
|
||||||
'class': 'sb-portal-nav-item' + (section.id === 'dashboard' ? ' active' : ''),
|
'class': 'sb-portal-nav-item',
|
||||||
'data-section': section.id,
|
'data-section': section.id,
|
||||||
'click': function() { self.switchSection(section.id); }
|
'click': function() { self.switchSection(section.id); }
|
||||||
}, [
|
}, [
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user