feat: Add SecuBox portal header to nDPId views

Add unified SecuBox header navigation to all 3 nDPId views:
- dashboard.js, flows.js, settings.js

Pattern: Wrap view content with secubox-page-wrapper and prepend
SbHeader.render() to hide LuCI sidebar when in portal context.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-01-09 15:58:43 +01:00
parent fec4b5a128
commit 9e1b841d98
3 changed files with 35 additions and 3 deletions

View File

@ -4,6 +4,13 @@
'require dom';
'require ui';
'require ndpid.api as api';
'require secubox-theme/theme as Theme';
'require secubox-portal/header as SbHeader';
var lang = (typeof L !== 'undefined' && L.env && L.env.lang) ||
(document.documentElement && document.documentElement.getAttribute('lang')) ||
(navigator.language ? navigator.language.split('-')[0] : 'en');
Theme.init({ language: lang });
return view.extend({
title: _('nDPId Dashboard'),
@ -444,7 +451,10 @@ return view.extend({
// Start polling
this.startPolling();
return view;
var wrapper = E('div', { 'class': 'secubox-page-wrapper' });
wrapper.appendChild(SbHeader.render());
wrapper.appendChild(view);
return wrapper;
},
handleSaveApply: null,

View File

@ -4,6 +4,13 @@
'require dom';
'require ui';
'require ndpid.api as api';
'require secubox-theme/theme as Theme';
'require secubox-portal/header as SbHeader';
var lang = (typeof L !== 'undefined' && L.env && L.env.lang) ||
(document.documentElement && document.documentElement.getAttribute('lang')) ||
(navigator.language ? navigator.language.split('-')[0] : 'en');
Theme.init({ language: lang });
return view.extend({
title: _('nDPId Flows'),
@ -428,7 +435,10 @@ return view.extend({
// Start polling
this.startPolling();
return view;
var wrapper = E('div', { 'class': 'secubox-page-wrapper' });
wrapper.appendChild(SbHeader.render());
wrapper.appendChild(view);
return wrapper;
},
handleSaveApply: null,

View File

@ -4,6 +4,13 @@
'require uci';
'require ui';
'require ndpid.api as api';
'require secubox-theme/theme as Theme';
'require secubox-portal/header as SbHeader';
var lang = (typeof L !== 'undefined' && L.env && L.env.lang) ||
(document.documentElement && document.documentElement.getAttribute('lang')) ||
(navigator.language ? navigator.language.split('-')[0] : 'en');
Theme.init({ language: lang });
return view.extend({
title: _('nDPId Settings'),
@ -160,6 +167,11 @@ return view.extend({
o.value('vpn_udp', 'VPN (UDP)');
o.depends('enabled', '1');
return m.render();
return m.render().then(function(formEl) {
var wrapper = E('div', { 'class': 'secubox-page-wrapper' });
wrapper.appendChild(SbHeader.render());
wrapper.appendChild(formEl);
return wrapper;
});
}
});