// Registriert den Service-Worker und verdrahtet ihn mit dem // Sync-Status-Store. Im Dev-Modus läuft Kochwas über HTTP; die // SW-API ist da nur auf localhost verfügbar. SvelteKit liefert den // SW unter /service-worker.js im Production-Build. import { syncStatus, type SWMessage } from '$lib/client/sync-status.svelte'; export async function registerServiceWorker(): Promise { if (typeof navigator === 'undefined' || !('serviceWorker' in navigator)) return; try { await navigator.serviceWorker.register('/service-worker.js', { type: 'module' }); } catch (e) { console.warn('SW-Registrierung fehlgeschlagen', e); return; } navigator.serviceWorker.addEventListener('message', (event) => { const data = event.data as SWMessage | undefined; if (data && typeof data === 'object' && 'type' in data) { syncStatus.handle(data); } }); }