Make SuiviCPT an installable PWA

Adds what iOS/Android need to treat the site as an installable app
from Safari's "Add to Home Screen": a manifest.json, apple-touch-icon
set generated from the existing logo mark (scripts/generate-icons.mjs,
sharp as a dev dependency), and the apple-mobile-web-app-* meta tags
iOS Safari requires since it ignores manifest.json entirely.

The service worker is deliberately minimal — this app shows live
financial data, so navigations always hit the network first. It only
caches enough to serve offline.html when there's no connection, not a
full offline-first app shell.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
jeremy bayse
2026-08-03 11:03:37 +02:00
co-authored by Claude Sonnet 5
parent 6a776b0042
commit 5352f39887
15 changed files with 788 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
{
"name": "SuiviCPT",
"short_name": "SuiviCPT",
"description": "Suivi budgétaire et transactions pour le foyer",
"start_url": "/dashboard",
"scope": "/",
"display": "standalone",
"orientation": "portrait",
"background_color": "#f5ead8",
"theme_color": "#c67139",
"lang": "fr",
"icons": [
{
"src": "/icons/icon-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}