import{_ as R}from"./vendor-query-CutdBoCI.js";import{q as p}from"./vendor-react-DfNOgXDS.js";function _(d={}){const{immediate:n=!1,onNeedReload:a,onNeedRefresh:c,onOfflineReady:r,onRegistered:i,onRegisteredSW:u,onRegisterError:t}=d;let s,o;const l=async(e=!0)=>{await o};async function f(){if("serviceWorker"in navigator){if(s=await R(async()=>{const{Workbox:e}=await import("./workbox-window.prod.es5-BqEJf4Xk.js");return{Workbox:e}},[]).then(({Workbox:e})=>new e("/sw.js",{scope:"/",type:"classic"})).catch(e=>{t==null||t(e)}),!s)return;s.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&(a?a():window.location.reload())}),s.addEventListener("installed",e=>{e.isUpdate||r==null||r()}),s.register({immediate:n}).then(e=>{u?u("/sw.js",e):i==null||i(e)}).catch(e=>{t==null||t(e)})}}return o=f(),l}function m(d={}){const{immediate:n=!0,onNeedReload:a,onNeedRefresh:c,onOfflineReady:r,onRegistered:i,onRegisteredSW:u,onRegisterError:t}=d,[s,o]=p.useState(!1),[l,f]=p.useState(!1),[e]=p.useState(()=>_({immediate:n,onNeedReload:a,onOfflineReady(){f(!0),r==null||r()},onNeedRefresh(){o(!0),c==null||c()},onRegistered:i,onRegisteredSW:u,onRegisterError:t}));return{needRefresh:[s,o],offlineReady:[l,f],updateServiceWorker:e}}const w=()=>(m({onRegisteredSW(d,n){if(!n)return;const a=60*60*1e3;setInterval(()=>n.update(),a)}}),null);export{w as UpdatePrompt};