import { env } from '$env/dynamic/public'; import root from './root'; export const requestNotifications = async () => { if ('Notification' in window && navigator.serviceWorker) if ((await Notification.requestPermission()) === 'granted') { const pushSubscription = await ( await navigator.serviceWorker.ready ).pushManager.subscribe({ userVisibleOnly: true, applicationServerKey: env.PUBLIC_VAPID_PUBLIC_KEY }); await fetch(root('/api/notifications/subscribe'), { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(pushSubscription) }); } };