feat(pwa): adopt thread-ripper pattern with in-app install buttons, floating banner, and GET share_target

This commit is contained in:
chrisf committed 2026-10-22 19:57:22 -06:00
1 parent c739f74055
commit 4d4b8c860d
3 files changed
+148 -86

No files matched your search

+20 -52
View File
@@ -6,86 +6,54 @@
"start_url": "/",
"scope": "/",
"display": "standalone",
"display_override": ["window-controls-overlay", "standalone", "minimal-ui"],
"background_color": "#18181b",
"theme_color": "#00a82d",
"orientation": "any",
"categories": ["productivity", "utilities", "notes"],
"icons": [
{
"src": "/icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "any"
},
{
"src": "/icon-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/apple-touch-icon.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "/icon.svg",
"sizes": "any",
"type": "image/svg+xml"
}
],
"share_target": {
"action": "/share",
"method": "POST",
"enctype": "multipart/form-data",
"action": "/",
"method": "GET",
"enctype": "application/x-www-form-urlencoded",
"params": {
"title": "title",
"text": "text",
"url": "url",
"files": [
{
"name": "files",
"accept": [
"text/plain",
"text/html",
"text/markdown",
"text/csv",
".txt",
".md",
".html",
".csv",
"application/pdf",
".pdf",
"image/jpeg",
"image/png",
"image/gif",
"image/webp",
"image/*",
".jpg",
".jpeg",
".png",
".gif",
".webp",
"audio/*",
".mp3",
".m4a",
".wav",
".ogg",
"video/*",
".mp4",
".webm"
]
}
]
"url": "url"
}
},
"shortcuts": [