fix:notificationmanager
This commit is contained in:
@@ -32,31 +32,41 @@
|
|||||||
|
|
||||||
async function initializeNotifications() {
|
async function initializeNotifications() {
|
||||||
try {
|
try {
|
||||||
|
console.log('[NotificationManager] Starting initialization...');
|
||||||
|
|
||||||
// Get current permission status
|
// Get current permission status
|
||||||
permissionStatus = Notification.permission;
|
permissionStatus = Notification.permission;
|
||||||
|
console.log('[NotificationManager] Permission status:', permissionStatus);
|
||||||
// If already denied, don't do anything
|
// If already denied, don't do anything
|
||||||
if (permissionStatus === 'denied') {
|
if (permissionStatus === 'denied') {
|
||||||
console.log('Notification permission denied by user');
|
console.log('Notification permission denied by user');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Get existing service worker registration (SvelteKit registers it automatically)
|
||||||
|
let registration = await navigator.serviceWorker.getRegistration();
|
||||||
|
|
||||||
// Register service worker
|
// If no registration exists, register it
|
||||||
const registration = await navigator.serviceWorker.register('/service-worker.js', {
|
if (!registration) {
|
||||||
type: 'module'
|
console.log('[NotificationManager] No SW found, registering...');
|
||||||
});
|
registration = await navigator.serviceWorker.register('/service-worker.js', {
|
||||||
|
type: 'module'
|
||||||
|
});
|
||||||
|
}
|
||||||
// Wait for service worker to be ready
|
// Wait for service worker to be ready
|
||||||
await navigator.serviceWorker.ready;
|
await navigator.serviceWorker.ready;
|
||||||
|
console.log('[NotificationManager] Service worker ready');
|
||||||
// If permission is default, request it
|
// If permission is default, request it
|
||||||
if (permissionStatus === 'default') {
|
if (permissionStatus === 'default') {
|
||||||
|
console.log('[NotificationManager] Requesting permission...');
|
||||||
permissionStatus = await Notification.requestPermission();
|
permissionStatus = await Notification.requestPermission();
|
||||||
|
console.log('[NotificationManager] Permission response:', permissionStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If permission granted, subscribe to push notifications
|
// If permission granted, subscribe to push notifications
|
||||||
if (permissionStatus === 'granted') {
|
if (permissionStatus === 'granted') {
|
||||||
|
console.log('[NotificationManager] Permission granted, subscribing...');
|
||||||
await subscribeToPushNotifications(registration);
|
await subscribeToPushNotifications(registration);
|
||||||
|
} else {
|
||||||
|
console.log('[NotificationManager] Permission not granted, status:', permissionStatus);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error initializing notifications:', error);
|
console.error('Error initializing notifications:', error);
|
||||||
|
|||||||
Reference in New Issue
Block a user