From b0fc190704026234986a4275374c976f98589193 Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Sat, 27 Jun 2026 10:59:08 +0200 Subject: [PATCH] =?UTF-8?q?[FEAT]=20UI=20V3=20=E2=80=94=20foundation=20(v3?= =?UTF-8?q?.css=20+=20topnav-v3.js=20+=20Inter/Lucide=20self-host)=20+=20d?= =?UTF-8?q?ashboard=20pilota=20fedele=20al=20mockup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fase 0 della migrazione UI V3 (sidebar V2 → top-nav navy/oro, font Inter, icone Lucide). - public/css/v3.css: design system portato fedelmente dal mockup index.html (token :root, chrome appbar+mega-menu, card/stat/calendario/anag/doc/fab, @media ≤900/≤560), + aggiunte minime V3+ per stati loading/empty/error, mobile nav toggle e touch≥44px (AGID/WCAG). - public/vendor/inter/: Inter self-host (variable woff2 latin+latin-ext) + inter.css + README (NO Google CDN). - public/vendor/lucide/lucide.min.js: Lucide UMD self-host (NO unpkg CDN). - public/js/topnav-v3.js: appbar + mega-menu data-driven dalla mappa IA (§6, 9 gruppi), aria-current sulla voce attiva, riusa gli helper di common.js (utente/logout/versione/org-switcher, branding, impersonate) e i 3 FAB reali (ARIA + bug-reporter + notifiche). window.loadSidebar=loadTopnavV3. - public/dashboard.html: convertita al V3 fedele al mockup, cablata sui DATI REALI via api.js (overview/compliance-score/upcoming-deadlines/recent-activity/organizations-current); monitor giornaliero/settimanale alimentati dagli eventi reali; documenti istituzionali = stato vuoto onesto. - public/js/dashboard.js (nuovo): wiring dati reali + render calendario/scadenze/attività/anagrafica; stati loading/empty/error; zero dati finti del mockup. node --check OK su topnav-v3.js e dashboard.js. Solo UI: nessun PHP/DB/api.js toccato. Co-Authored-By: Claude Opus 4.8 (1M context) --- public/css/v3.css | 265 +++++++++++++ public/dashboard.html | 429 ++++++---------------- public/js/dashboard.js | 311 ++++++++++++++++ public/js/topnav-v3.js | 320 ++++++++++++++++ public/vendor/inter/README.md | 31 ++ public/vendor/inter/inter-latin-ext.woff2 | Bin 0 -> 85068 bytes public/vendor/inter/inter-latin.woff2 | Bin 0 -> 48256 bytes public/vendor/inter/inter.css | 27 ++ public/vendor/lucide/lucide.min.js | 12 + 9 files changed, 1071 insertions(+), 324 deletions(-) create mode 100644 public/css/v3.css create mode 100644 public/js/dashboard.js create mode 100644 public/js/topnav-v3.js create mode 100644 public/vendor/inter/README.md create mode 100644 public/vendor/inter/inter-latin-ext.woff2 create mode 100644 public/vendor/inter/inter-latin.woff2 create mode 100644 public/vendor/inter/inter.css create mode 100644 public/vendor/lucide/lucide.min.js diff --git a/public/css/v3.css b/public/css/v3.css new file mode 100644 index 0000000..06f07e7 --- /dev/null +++ b/public/css/v3.css @@ -0,0 +1,265 @@ +/* ═══════════════════════════════════════════════════════════════════════════ + * NIS2 Agile — UI V3 design system + * Portato FEDELMENTE dal