Files
mutiny-web/src/components/Reload.tsx
2023-06-06 10:05:43 -05:00

47 lines
1.5 KiB
TypeScript

import type { Component } from "solid-js";
import { Show } from "solid-js";
// eslint-disable-next-line import/no-unresolved
import { useRegisterSW } from "virtual:pwa-register/solid";
const ReloadPrompt: Component = () => {
const {
offlineReady: [offlineReady, _setOfflineReady],
needRefresh: [needRefresh, _setNeedRefresh],
updateServiceWorker: _update
} = useRegisterSW({
immediate: true,
onRegisteredSW(swUrl, r) {
console.log("SW Registered: " + r?.scope);
},
onRegisterError(error: Error) {
console.log("SW registration error", error);
}
});
// const close = () => {
// setOfflineReady(false)
// setNeedRefresh(false)
// }
return (
<Show when={offlineReady() || needRefresh()}>
{/* <Card title="PWA settings">
<div>
<Show
fallback={<span>New content available, click on reload button to update.</span>}
when={offlineReady()}
>
<span>App ready to work offline</span>
</Show>
</div>
<Show when={needRefresh()}>
<Button onClick={() => updateServiceWorker(true)}>Reload</Button>
</Show>
<Button onClick={() => close()}>Close</Button>
</Card> */}
</Show>
);
};
export default ReloadPrompt;