CognxSafeTrack commited on
Commit ·
84fb6f6
1
Parent(s): 255078f
fix(notifications): skip permission request if already denied by browser
Browse files
apps/admin/src/lib/notifications.ts
CHANGED
|
@@ -21,14 +21,20 @@ export const setupNotifications = async (token: string, orgId: string) => {
|
|
| 21 |
}
|
| 22 |
|
| 23 |
try {
|
| 24 |
-
// 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
const registration = await navigator.serviceWorker.register('/sw.js');
|
| 26 |
|
| 27 |
-
//
|
| 28 |
-
const permission =
|
|
|
|
|
|
|
| 29 |
if (permission !== 'granted') {
|
| 30 |
-
|
| 31 |
-
return;
|
| 32 |
}
|
| 33 |
|
| 34 |
// 3. Get VAPID public key from server
|
|
|
|
| 21 |
}
|
| 22 |
|
| 23 |
try {
|
| 24 |
+
// 1. Check existing permission — ne pas re-demander si déjà refusé
|
| 25 |
+
if (Notification.permission === 'denied') {
|
| 26 |
+
return; // silencieux : l'utilisateur a déjà dit non
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
// 2. Register Service Worker
|
| 30 |
const registration = await navigator.serviceWorker.register('/sw.js');
|
| 31 |
|
| 32 |
+
// 3. Request Permission (seulement si 'default', pas 'denied')
|
| 33 |
+
const permission = Notification.permission === 'granted'
|
| 34 |
+
? 'granted'
|
| 35 |
+
: await Notification.requestPermission();
|
| 36 |
if (permission !== 'granted') {
|
| 37 |
+
return; // silencieux
|
|
|
|
| 38 |
}
|
| 39 |
|
| 40 |
// 3. Get VAPID public key from server
|