From 85b69ea89fbd08c3019f32b57a284337b6555cad Mon Sep 17 00:00:00 2001
From: Matt Strapp <matt@mattstrapp.net>
Date: Fri, 20 Oct 2023 14:08:54 -0500
Subject: uh

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

(limited to 'app/src/lib/components/Navigation.svelte')

diff --git a/app/src/lib/components/Navigation.svelte b/app/src/lib/components/Navigation.svelte
new file mode 100644
index 0000000..2e5ba98
--- /dev/null
+++ b/app/src/lib/components/Navigation.svelte
@@ -0,0 +1,70 @@
+<script lang="ts">
+  import { page } from '$app/stores'
+
+  import Icon from '@iconify/svelte'
+  import homeIcon from '@iconify/icons-carbon/home'
+  import logoGithub from '@iconify/icons-carbon/logo-github'
+  import menuIcon from '@iconify/icons-carbon/menu'
+  import pageBreak from '@iconify/icons-carbon/page-break'
+
+  import { AppRail, AppRailAnchor, getDrawerStore } from '@skeletonlabs/skeleton'
+
+  const drawerStore = getDrawerStore()
+
+  function drawerClose(): void {
+    drawerStore.close()
+  }
+
+  /**
+   * If the menu prop is true, then the close menu button will be rendered.
+   */
+  export let menu = false
+</script>
+
+<AppRail>
+  <svelte:fragment slot="lead">
+    {#if menu}
+      <AppRailAnchor on:click={drawerClose} title="Close Menu" value={0} href="javascript:;">
+        <svelte:fragment slot="lead">
+          <Icon icon={menuIcon} width="25" />
+        </svelte:fragment>
+        Close Menu
+      </AppRailAnchor>
+    {/if}
+  </svelte:fragment>
+  <AppRailAnchor
+    href="/"
+    selected={$page.url.pathname === '/'}
+    on:click={drawerClose}
+    title="Homepage"
+  >
+    <svelte:fragment slot="lead">
+      <Icon icon={homeIcon} width="35" />
+    </svelte:fragment>
+    Home!
+  </AppRailAnchor>
+  <AppRailAnchor
+    href="/truncate"
+    selected={$page.url.pathname === '/truncate'}
+    on:click={drawerClose}
+    title="Truncate Files"
+  >
+    <svelte:fragment slot="lead">
+      <Icon icon={pageBreak} width="35" />
+    </svelte:fragment>
+    Truncate!
+  </AppRailAnchor>
+  <svelte:fragment slot="trail">
+    <AppRailAnchor
+      href="https://github.com/rosstheross/rosstheross.github.io"
+      rel="noreferrer"
+      on:click={drawerClose}
+      title="Source Code"
+    >
+      <svelte:fragment slot="lead">
+        <Icon icon={logoGithub} width="35" />
+      </svelte:fragment>
+      Source!
+    </AppRailAnchor>
+  </svelte:fragment>
+</AppRail>
-- 
cgit v1.2.3

