[FEAT] UI V3 — foundation (v3.css + topnav-v3.js + Inter/Lucide self-host) + dashboard pilota fedele al mockup
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) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
2a5d90f8bb
commit
b0fc190704
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
# Inter (self-hosted) — NIS2 Agile UI V3
|
||||
|
||||
Font **Inter** ospitato localmente. **NON** usare Google Fonts CDN nelle pagine
|
||||
(motivi: AGID/privacy, CSP, PWA offline). Le pagine includono solo
|
||||
`/vendor/inter/inter.css`, con fallback `system-ui`.
|
||||
|
||||
## File
|
||||
|
||||
- `inter-latin.woff2` — subset **latin** (variabile, asse peso 100–900).
|
||||
- `inter-latin-ext.woff2` — subset **latin-ext** (accentate aggiuntive).
|
||||
- `inter.css` — `@font-face` che puntano ai due `.woff2` locali.
|
||||
|
||||
Inter v20 è un **variable font**: un solo file copre tutti i pesi (400–800 usati
|
||||
dal design system V3) tramite `font-weight: 100 900`.
|
||||
|
||||
## URL di origine (per rigenerare)
|
||||
|
||||
CSS sorgente (User-Agent browser → woff2):
|
||||
```
|
||||
https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap
|
||||
```
|
||||
|
||||
woff2 estratti dal CSS sopra (subset latin / latin-ext, Inter v20):
|
||||
```
|
||||
latin : https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2
|
||||
latin-ext : https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2
|
||||
```
|
||||
|
||||
> Nota: gli hash nelle URL gstatic possono cambiare a nuove versioni di Inter.
|
||||
> Se serve rigenerare, riscaricare la CSS con UA browser e ripescare i blocchi
|
||||
> `/* latin */` e `/* latin-ext */`.
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
/* ───────────────────────────────────────────────────────────────────────────
|
||||
* Inter — self-hosted (NIS2 Agile UI V3)
|
||||
* Variable font (weight axis 100–900) scaricato da fonts.gstatic.com (Inter v20).
|
||||
* Self-host obbligatorio: NO Google Fonts CDN (AGID/privacy/CSP/PWA-offline).
|
||||
* Coperti: latin + latin-ext (à è é ì ò ù ... — set sufficiente per IT/EN).
|
||||
* Fallback: system-ui. Vedi README.md per le URL di origine e come rigenerare.
|
||||
* ─────────────────────────────────────────────────────────────────────────── */
|
||||
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
src: url('/vendor/inter/inter-latin.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
font-style: normal;
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
src: url('/vendor/inter/inter-latin-ext.woff2') format('woff2');
|
||||
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
Reference in New Issue
Block a user