Internal
Public Access
Adds a manifest, service worker, and branded icons so the site can be installed to a home screen/desktop, plus an offline fallback page so a dropped connection shows something friendlier than the browser's default error. Icons are rasterized from the existing favicon.svg mark via rsvg-convert. The manifest and service worker are served through small Django views (not raw static files) so their asset URLs pick up WhiteNoise's content-hashed filenames in prod/selfhosted, and the service worker is served from the site root so its scope covers the whole app. Does not include true offline task data or Web Push notifications -- those are tracked separately as larger follow-up projects. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
27 lines
693 B
JSON
27 lines
693 B
JSON
{% load static %}{
|
|
"name": "KeepItGoing",
|
|
"short_name": "KeepItGoing",
|
|
"start_url": "/",
|
|
"display": "standalone",
|
|
"background_color": "#ffffff",
|
|
"theme_color": "#3B82F6",
|
|
"icons": [
|
|
{
|
|
"src": "{% static 'favicons/icon-192.png' %}",
|
|
"sizes": "192x192",
|
|
"type": "image/png"
|
|
},
|
|
{
|
|
"src": "{% static 'favicons/icon-512.png' %}",
|
|
"sizes": "512x512",
|
|
"type": "image/png"
|
|
},
|
|
{
|
|
"src": "{% static 'favicons/icon-512-maskable.png' %}",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "maskable"
|
|
}
|
|
]
|
|
}
|