Use WindowClient.navigate() instead of service worker message (#2294)
This commit is contained in:
parent
c4042fdf4b
commit
5aa5956afc
@ -60,14 +60,6 @@ export default function MyApp ({ Component, pageProps: { ...props } }) {
|
||||
router.events.on('routeChangeComplete', nprogressDone)
|
||||
router.events.on('routeChangeError', nprogressDone)
|
||||
|
||||
const handleServiceWorkerMessage = (event) => {
|
||||
if (event.data?.type === 'navigate') {
|
||||
router.push(event.data.url)
|
||||
}
|
||||
}
|
||||
|
||||
navigator.serviceWorker?.addEventListener('message', handleServiceWorkerMessage)
|
||||
|
||||
if (!props?.apollo) return
|
||||
// HACK: 'cause there's no way to tell Next to skip SSR
|
||||
// So every page load, we modify the route in browser history
|
||||
@ -90,7 +82,6 @@ export default function MyApp ({ Component, pageProps: { ...props } }) {
|
||||
router.events.off('routeChangeStart', nprogressStart)
|
||||
router.events.off('routeChangeComplete', nprogressDone)
|
||||
router.events.off('routeChangeError', nprogressDone)
|
||||
navigator.serviceWorker?.removeEventListener('message', handleServiceWorkerMessage)
|
||||
}
|
||||
}, [router.asPath, props?.apollo, shouldShowProgressBar])
|
||||
|
||||
|
@ -123,13 +123,7 @@ self.addEventListener('notificationclick', function (event) {
|
||||
.then(clients => {
|
||||
if (clients.length > 0) {
|
||||
const client = clients[0]
|
||||
return client.focus()
|
||||
.then(() => {
|
||||
return client.postMessage({
|
||||
type: 'navigate',
|
||||
url
|
||||
})
|
||||
})
|
||||
return client.focus().then(() => client.navigate(url))
|
||||
} else {
|
||||
return self.clients.openWindow(url)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user