aboutsummaryrefslogtreecommitdiff
path: root/src/components/ReloadPrompt.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ReloadPrompt.tsx')
-rw-r--r--src/components/ReloadPrompt.tsx52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/components/ReloadPrompt.tsx b/src/components/ReloadPrompt.tsx
deleted file mode 100644
index 39ced27..0000000
--- a/src/components/ReloadPrompt.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-/* eslint-disable vue/one-component-per-file */
-import { useRegisterSW } from 'virtual:pwa-register/vue';
-import { useNotification, type NotificationReactive } from 'naive-ui';
-import { defineComponent } from 'vue';
-import { whenever } from '@vueuse/core';
-
-export default defineComponent({
- setup() {
- const notificationBuilder = useNotification();
-
- const { needRefresh, offlineReady, updateServiceWorker } = useRegisterSW();
-
- let notification: NotificationReactive | null = null;
-
- const onUpdateClicked = () => {
- if (notification) {
- notification.action = () => (
- <n-button loading type="primary" secondary>
- Reloading
- </n-button>
- );
- }
-
- updateServiceWorker();
- };
-
- whenever(
- needRefresh,
- () => {
- notification = notificationBuilder.create({
- title: 'A new version is out!',
- content: 'Update to get the latest version of it-tools',
- closable: true,
- onClose: () => {
- needRefresh.value = false;
- return true;
- },
- action: () => (
- <n-button onClick={onUpdateClicked} type="primary" secondary>
- Reload
- </n-button>
- ),
- });
- },
- { immediate: true },
- );
-
- whenever(offlineReady, () => notification?.destroy(), { immediate: true });
-
- return () => '';
- },
-});