- API: GET /versions/:id/audio?quality=stream|original (server proxy for SW caching) - API: GET /versions/:id/waveform-data (server proxy for offline waveform) - SW: cache-first from musichub-offline-v1 for proxied audio/waveform endpoints - Client: IDB-backed offline store (idb lib) with progress-tracked download - UI: per-version offline download button with stream/original quality picker - UI: /offline page with storage estimate and remove-all action - Manifest: shortcuts for Dashboard + Offline-Tracks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
48 lines
1.0 KiB
JSON
48 lines
1.0 KiB
JSON
{
|
|
"name": "Music Hub",
|
|
"short_name": "Music Hub",
|
|
"description": "Versionen für Musik. Ohne Chaos.",
|
|
"start_url": "/dashboard",
|
|
"scope": "/",
|
|
"display": "standalone",
|
|
"orientation": "any",
|
|
"background_color": "#0a0910",
|
|
"theme_color": "#f43f5e",
|
|
"lang": "de",
|
|
"categories": ["music", "productivity"],
|
|
"shortcuts": [
|
|
{
|
|
"name": "Offline-Tracks",
|
|
"short_name": "Offline",
|
|
"url": "/offline",
|
|
"icons": [{ "src": "/icon-192.png", "sizes": "192x192" }]
|
|
},
|
|
{
|
|
"name": "Dashboard",
|
|
"short_name": "Dashboard",
|
|
"url": "/dashboard",
|
|
"icons": [{ "src": "/icon-192.png", "sizes": "192x192" }]
|
|
}
|
|
],
|
|
"icons": [
|
|
{
|
|
"src": "/icon-192.png",
|
|
"sizes": "192x192",
|
|
"type": "image/png",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icon-512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/icon-512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png",
|
|
"purpose": "maskable"
|
|
}
|
|
]
|
|
}
|