web: add service worker for pwa install
This commit is contained in:
parent
71fc44e7a6
commit
d0270a3c9e
17
apps/web/hooks/worker.ts
Normal file
17
apps/web/hooks/worker.ts
Normal file
@ -0,0 +1,17 @@
|
||||
/* eslint-disable no-console */
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export function useServiceWorker() {
|
||||
useEffect(() => {
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register('/sw.js')
|
||||
.then((registration) => {
|
||||
console.log('Service Worker registered with scope:', registration.scope);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('Service Worker registration failed:', error);
|
||||
});
|
||||
}
|
||||
}, []);
|
||||
}
|
||||
@ -8,6 +8,7 @@ import { Loading } from '@/Components/Common';
|
||||
import Layout from '@/Components/Layout';
|
||||
import { theme } from '@/config/ui';
|
||||
import { usePageLoading } from '@/hooks';
|
||||
import { useServiceWorker } from '@/hooks/worker';
|
||||
import StoreProvider from '@/stores/Provider';
|
||||
import getColors from '@/styles/colors';
|
||||
import { GlobalStyle } from '@/styles/global-style';
|
||||
@ -32,6 +33,7 @@ function App({ Component, pageProps }) {
|
||||
const queryClient = useMemo(() => initializeQueryClient(initialQueryState), [initialQueryState]);
|
||||
|
||||
const { loading } = usePageLoading();
|
||||
useServiceWorker();
|
||||
|
||||
return (
|
||||
<ThemeProvider theme={theme}>
|
||||
|
||||
4
apps/web/public/sw.js
Normal file
4
apps/web/public/sw.js
Normal file
@ -0,0 +1,4 @@
|
||||
self.addEventListener('install', () => {
|
||||
self.skipWaiting();
|
||||
});
|
||||
self.addEventListener('fetch', () => {});
|
||||
Loading…
x
Reference in New Issue
Block a user