- Add web app manifest for home screen installation - Implement service worker with offline caching strategy - Create offline fallback page with auto-reconnect - Generate PWA icons in multiple sizes (72px-512px) - Add PWA meta tags and Apple Touch icons to all pages - Register service worker with graceful degradation - Update documentation with PWA installation instructions - Add browserconfig.xml for Windows tile support Features: - Installable on mobile and desktop - Offline functionality with cached resources - App-like experience in standalone mode - Automatic updates when online - Works seamlessly with existing progressive enhancement 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
75 lines
No EOL
1.7 KiB
JSON
75 lines
No EOL
1.7 KiB
JSON
{
|
|
"name": "Great Lakes Ice Report",
|
|
"short_name": "Ice Report",
|
|
"description": "Community-driven winter road conditions and icy hazards tracker for the Great Lakes region",
|
|
"start_url": "/",
|
|
"display": "standalone",
|
|
"orientation": "portrait-primary",
|
|
"background_color": "#ffffff",
|
|
"theme_color": "#2196F3",
|
|
"lang": "en-US",
|
|
"scope": "/",
|
|
"categories": ["weather", "transportation", "utilities"],
|
|
"icons": [
|
|
{
|
|
"src": "/icons/icon-72.svg",
|
|
"sizes": "72x72",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-96.svg",
|
|
"sizes": "96x96",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-128.svg",
|
|
"sizes": "128x128",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-144.svg",
|
|
"sizes": "144x144",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-152.svg",
|
|
"sizes": "152x152",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-192.svg",
|
|
"sizes": "192x192",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-384.svg",
|
|
"sizes": "384x384",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-512.svg",
|
|
"sizes": "512x512",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icons/icon-192-maskable.svg",
|
|
"sizes": "192x192",
|
|
"type": "image/svg+xml",
|
|
"purpose": "maskable"
|
|
},
|
|
{
|
|
"src": "/icons/icon-512-maskable.svg",
|
|
"sizes": "512x512",
|
|
"type": "image/svg+xml",
|
|
"purpose": "maskable"
|
|
}
|
|
]
|
|
} |