From c8b8dd263e331245356b8b32e6a8396f27b478d1 Mon Sep 17 00:00:00 2001
From: Matt Strapp <matt@mattstrapp.net>
Date: Fri, 29 Sep 2023 09:05:42 -0500
Subject: Add a reload prompt instead of an auto-update

Signed-off-by: Matt Strapp <matt@mattstrapp.net>
---
 app/src/lib/svelte/ReloadPrompt.svelte | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 app/src/lib/svelte/ReloadPrompt.svelte

(limited to 'app/src/lib/svelte/ReloadPrompt.svelte')

diff --git a/app/src/lib/svelte/ReloadPrompt.svelte b/app/src/lib/svelte/ReloadPrompt.svelte
new file mode 100644
index 0000000..1d5dbf6
--- /dev/null
+++ b/app/src/lib/svelte/ReloadPrompt.svelte
@@ -0,0 +1,34 @@
+<script lang="ts">
+	import { getToastStore, Toast } from "@skeletonlabs/skeleton";
+	import { useRegisterSW } from "virtual:pwa-register/svelte";
+
+	const toastStore = getToastStore();
+
+	const  {
+		updateServiceWorker,
+	} = useRegisterSW({
+		onRegisteredSW(r) {
+			console.log("SW Registered: ", r)
+		},
+		onNeedRefresh() {
+			toastStore.trigger({
+            message: 'A new version of the application is available.',
+            autohide: false,
+						action: {
+							label: 'Refresh',
+							response: updateServiceWorker
+						}
+          });
+		},
+		onOfflineReady() {
+			toastStore.trigger({
+            background: 'variant-filled-success',
+            message: 'Now ready for offline use!',
+            timeout: 5000
+          });
+		},
+		onRegisterError(err) {
+			console.error("SW Registration Error: ", err)
+		}
+	})
+</script>
\ No newline at end of file
-- 
cgit v1.2.3

