[UI] SWAP V2: Bootstrap Italia ora UFFICIALE su 27 pagine app (kill della vecchia UI)

Promosse le pagine -bi a nomi ufficiali (contenuto BI), link -bi->plain, titoli '(BI)' rimossi.
La vecchia UI delle pagine app e sostituita. Backup: git (commit 36967f9) + /tmp/nis2-v1-backup.

Promosse (27): auth (login/register/onboarding/forgot/reset) + app (dashboard/assessment/
risks/incidents/policies/supply-chain/training/assets/reports/settings/isms/acn-gap/normative/
whistleblowing/kb/cross-analysis/service-continuity/guida/companies) + admin (index/orgs/users).
common-bi.js: sidebar BI ora linka le pagine ufficiali.

ESCLUSA: index.html (landing marketing 1298 righe) -> conversione dedicata a parte (la -bi
era 557 righe, rischio perdita contenuti). Pagine marketing/demo (presentation/simulate/
workflow/architecture/index-en) restano vecchio stile (fuori scope app autenticata).

Verifica produzione: 27/27 servite 200 con BI, 0 link -bi residui, 0 '(BI)' nei titoli,
auth intatta (401 su pwd errata), common-bi.js node --check OK.

Rollback: git revert HEAD  (oppure ripristino da /tmp/nis2-v1-backup).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-12 14:49:15 +02:00
co-authored by Claude Opus 4.8
parent 36967f9452
commit 1c64211685
28 changed files with 2474 additions and 3105 deletions
+15 -13
View File
@@ -15,7 +15,7 @@
* invariati senza toccare api.js.
* - Accessibilità: <nav aria-label>, link active con aria-current,
* bottoni con aria-label, focus nativo BI.
* - I link puntano alle varianti "-bi.html" quando esistono, con
* - I link puntano alle varianti ".html" quando esistono, con
* fallback all'originale per le pagine non ancora convertite.
* ═══════════════════════════════════════════════════════════════════ */
(function () {
@@ -25,17 +25,19 @@
// Per queste la navigazione resta in contesto "-bi". Le altre puntano
// ancora all'originale (parità funzionale, nessun link rotto).
var BI_PAGES = {
'login.html': 'login-bi.html',
'dashboard.html': 'dashboard-bi.html',
'assessment.html': 'assessment-bi.html',
'risks.html': 'risks-bi.html',
'incidents.html': 'incidents-bi.html',
'policies.html': 'policies-bi.html',
'supply-chain.html': 'supply-chain-bi.html',
'training.html': 'training-bi.html',
'assets.html': 'assets-bi.html',
'reports.html': 'reports-bi.html',
'settings.html': 'settings-bi.html'
'login.html': 'login.html',
'dashboard.html': 'dashboard.html',
'assessment.html': 'assessment.html',
'isms.html': 'isms.html',
'risks.html': 'risks.html',
'incidents.html': 'incidents.html',
'policies.html': 'policies.html',
'supply-chain.html': 'supply-chain.html',
'training.html': 'training.html',
'assets.html': 'assets.html',
'reports.html': 'reports.html',
'settings.html': 'settings.html',
'whistleblowing.html': 'whistleblowing.html'
};
function biHref(href) {
@@ -46,7 +48,7 @@
var container = document.getElementById('sidebar');
if (!container) return;
// La pagina corrente può essere sia "x.html" sia "x-bi.html":
// La pagina corrente può essere sia "x.html" sia "x.html":
// normalizziamo togliendo il suffisso -bi per l'evidenziazione active.
var raw = window.location.pathname.split('/').pop() || 'dashboard.html';
var currentBase = raw.replace(/-bi\.html$/, '.html');