aboutsummaryrefslogtreecommitdiff
path: root/src/services/sw/sw.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2023-11-16 20:41:41 +0200
committerHenry Jameson <me@hjkos.com>2023-11-16 20:41:41 +0200
commita17defc5abfe60b6aa0dc3275dac2cbec507472a (patch)
tree3f32e21fbe024c3dadbfefcb295e43d45d74784c /src/services/sw/sw.js
parent6ed2cb8f436bca1e1cd4c40a0a2df0e96fb5d149 (diff)
handle desktop notifications clicks
Diffstat (limited to 'src/services/sw/sw.js')
-rw-r--r--src/services/sw/sw.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/services/sw/sw.js b/src/services/sw/sw.js
index d4ae8f4f..e28f9168 100644
--- a/src/services/sw/sw.js
+++ b/src/services/sw/sw.js
@@ -82,12 +82,18 @@ function sendSubscriptionToBackEnd (subscription, token, notificationVisibility)
return responseData
})
}
-export async function initServiceWorker () {
+export async function initServiceWorker (store) {
if (!isSWSupported()) return
await getOrCreateServiceWorker()
navigator.serviceWorker.addEventListener('message', (event) => {
+ const { dispatch } = store
console.log('SW MESSAGE', event)
- // TODO actually act upon click (open drawer on mobile, open chat/thread etc)
+ const { type, ...rest } = event
+
+ switch (type) {
+ case 'notificationClicked':
+ dispatch('notificationClicked', { id: rest.id })
+ }
})
}