aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/lib/components/Navigation.svelte
blob: 2e5ba9837bf9fde6bbb639cbb625155bf5068afc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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>