From 2074c9c732f6d279f5153688b9e33bdc8c9c7674 Mon Sep 17 00:00:00 2001
From: Matt Strapp <matt@mattstrapp.net>
Date: Fri, 15 Sep 2023 13:54:56 -0500
Subject: Here goes nothing!

Signed-off-by: Matt Strapp <matt@mattstrapp.net>
---
 app/src/routes/+layout.svelte | 117 +++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

(limited to 'app/src/routes/+layout.svelte')

diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte
index 8a70575..a0dd68a 100644
--- a/app/src/routes/+layout.svelte
+++ b/app/src/routes/+layout.svelte
@@ -1,76 +1,75 @@
 <script lang="ts">
-	import { registerSW } from 'virtual:pwa-register'
-	import { pwaInfo } from 'virtual:pwa-info'; 
-	import { onMount } from 'svelte'
+  import { useRegisterSW } from 'virtual:pwa-register/svelte';
+  import { pwaInfo } from 'virtual:pwa-info';
+  import { onMount } from 'svelte';
 
-	import '../app.postcss';
-	import { AppShell, AppBar } from '@skeletonlabs/skeleton';
+  import '../app.postcss';
+  import { AppShell, AppBar, getToastStore, initializeStores, Toast } from '@skeletonlabs/skeleton';
+  import Navigation from '$lib/svelte/Navigation.svelte';
 
-	// Floating UI for Popups
-	// import { computePosition, autoUpdate, flip, shift, offset, arrow } from '@floating-ui/dom';
-	// import { storePopup } from '@skeletonlabs/skeleton';
-	// storePopup.set({ computePosition, autoUpdate, flip, shift, offset, arrow });
+  // Floating UI for Popups
+  // import { computePosition, autoUpdate, flip, shift, offset, arrow } from '@floating-ui/dom';
+  // import { storePopup } from '@skeletonlabs/skeleton';
+  // storePopup.set({ computePosition, autoUpdate, flip, shift, offset, arrow });
 
-	onMount(async () => {
+  initializeStores();
+
+  const toastStore = getToastStore();
+
+  onMount(async () => {
     if (pwaInfo) {
-      registerSW({
+      useRegisterSW({
         immediate: true,
-        onRegistered(r: ServiceWorkerRegistration) {
-          console.log(`SW Registered: ${r}`)
+        onRegistered(r) {
+          console.log(`SW Registered: ${r?.active?.scriptURL}`);
         },
         onRegisterError(error: Error) {
-          console.log('SW registration error', error)
+          console.error('SW registration error', error);
         },
-		onOfflineReady() {
-			console.log('SW Offline Ready')
-		}
-      })
+        onOfflineReady() {
+          toastStore.trigger({
+            background: 'variant-filled-success',
+            hideDismiss: true,
+            message: 'Now ready for offline use!',
+            timeout: 5000
+          });
+        }
+      });
     }
-  })
-  	
-	$: webManifestLink = pwaInfo ? pwaInfo.webManifest.linkTag : '' 
+  });
+
+  $: webManifestLink = pwaInfo ? pwaInfo.webManifest.linkTag : '';
 </script>
 
-<svelte:head> 
- 	{@html webManifestLink} 
+<svelte:head>
+  {@html webManifestLink}
 </svelte:head>
 
+<Toast position="br" />
+
 <!-- App Shell -->
 <AppShell>
-	<svelte:fragment slot="header">
-		<!-- App Bar -->
-		<AppBar>
-			<svelte:fragment slot="lead">
-				<strong class="text-xl uppercase">Skeleton</strong>
-			</svelte:fragment>
-			<svelte:fragment slot="trail">
-				<a
-					class="btn btn-sm variant-ghost-surface"
-					href="https://discord.gg/EXqV7W8MtY"
-					target="_blank"
-					rel="noreferrer"
-				>
-					Discord
-				</a>
-				<a
-					class="btn btn-sm variant-ghost-surface"
-					href="https://twitter.com/SkeletonUI"
-					target="_blank"
-					rel="noreferrer"
-				>
-					Twitter
-				</a>
-				<a
-					class="btn btn-sm variant-ghost-surface"
-					href="https://github.com/skeletonlabs/skeleton"
-					target="_blank"
-					rel="noreferrer"
-				>
-					GitHub
-				</a>
-			</svelte:fragment>
-		</AppBar>
-	</svelte:fragment>
-	<!-- Page Route Content -->
-	<slot />
+  <svelte:fragment slot="header">
+    <!-- App Bar -->
+    <AppBar>
+      <svelte:fragment slot="lead">
+          <strong class="text-xl uppercase">A!</strong>
+      </svelte:fragment>
+      <svelte:fragment slot="trail">
+        <a
+          class="btn btn-sm variant-ghost-surface"
+          href="https://github.com/rosstheross/rosstheross.github.io"
+          target="_blank"
+          rel="noreferrer"
+        >
+          Frontend Source
+        </a>
+      </svelte:fragment>
+    </AppBar>
+  </svelte:fragment>
+  <svelte:fragment slot="sidebarLeft">
+    <Navigation />
+  </svelte:fragment>
+  <!-- Page Route Content -->
+  <slot />
 </AppShell>
-- 
cgit v1.2.3

