at main 29 lines 761 B view raw
1import { useEffect, useState } from 'react'; 2 3export function WithServiceWorker({ children }) { 4 const [swRegistration, setSwRegistration] = useState(null); 5 useEffect(() => { 6 (async() => { 7 setSwRegistration('pending'); 8 try { 9 await navigator.serviceWorker.register('/service-worker.js'); 10 setSwRegistration('registered'); 11 } catch (e) { 12 console.error('service worker registration failed:', e); 13 setSwRegistration('failed'); 14 } 15 })(); 16 }, []); 17 18 if (swRegistration === 'registered') return children; 19 20 if (swRegistration === 'failed') { 21 return ( 22 <p>sorry, something went wrong registering the service worker</p> 23 ); 24 } 25 26 return ( 27 <p>registering service worker&hellip;</p> 28 ); 29}