[FEAT] PWA installabile Android/iOS conforme AGID (v1.15.0)
- manifest.webmanifest + service worker (offline shell, /api network-only, asset stale-while-revalidate) - set icone (192/512 + maskable + apple-touch + favicon), generate zero-deps (pure Node+zlib) - tag PWA + viewport viewport-fit=cover (zoom mantenuto, WCAG 1.4.4) in 77 pagine HTML - AGID/WCAG 2.1 AA: touch target >=44px, orientamento/zoom liberi, safe-area standalone - generatori riproducibili: scripts/gen-pwa-icons.mjs + scripts/inject-pwa-head.mjs - bump version 1.14.1 -> 1.15.0 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
b80bf2361c
commit
36513fa722
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<meta name="theme-color" content="#0066CC">
|
||||
<title>Offline - NIS2 Agile</title>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon-32.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-touch-icon.png">
|
||||
<link rel="stylesheet" href="/vendor/bootstrap-italia/dist/css/bootstrap-italia.min.css">
|
||||
<style>
|
||||
/* Fallback minimale: la pagina resta leggibile anche se il CSS di
|
||||
Bootstrap Italia non e' presente nella cache. */
|
||||
body { margin: 0; min-height: 100vh; display: flex; align-items: center;
|
||||
justify-content: center; padding: 24px; text-align: center; background: #f5f6f7;
|
||||
color: #1b1c1d; font-family: 'Titillium Web', system-ui, Arial, sans-serif; }
|
||||
.offline-card { max-width: 420px; background: #fff; border-radius: 12px;
|
||||
padding: 32px 28px; box-shadow: 0 4px 24px rgba(0,0,0,.08); }
|
||||
.offline-card img { width: 72px; height: 72px; margin-bottom: 16px; }
|
||||
.offline-card h1 { font-size: 1.4rem; margin: 0 0 8px; color: #0066CC; }
|
||||
.offline-card p { margin: 0 0 24px; color: #5a6772; font-size: 1rem; line-height: 1.5; }
|
||||
.offline-btn { display: inline-block; background: #0066CC; color: #fff; border: 0;
|
||||
border-radius: 8px; padding: 12px 24px; font-size: 1rem; min-height: 44px;
|
||||
cursor: pointer; text-decoration: none; }
|
||||
.offline-btn:hover { background: #0052a3; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="offline-card">
|
||||
<img src="/assets/icons/icon-192.png" alt="NIS2 Agile" width="72" height="72">
|
||||
<h1>Sei offline</h1>
|
||||
<p>Controlla la connessione di rete e riprova. Le pagine già visitate restano disponibili anche senza connessione.</p>
|
||||
<button type="button" class="offline-btn" onclick="location.reload()">Riprova</button>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user