mirror of
https://github.com/LukeHagar/website.git
synced 2025-12-06 12:57:48 +00:00
57 lines
2.0 KiB
Svelte
57 lines
2.0 KiB
Svelte
<script lang="ts">
|
|
import { afterNavigate } from '$app/navigation';
|
|
import { IsLoggedIn } from '$lib/components';
|
|
import { SOCIAL_STATS } from '$lib/constants';
|
|
import type { NavLink } from './MainNav.svelte';
|
|
import { getAppwriteDashboardUrl } from '$lib/utils/dashboard';
|
|
|
|
export let open = false;
|
|
export let links: NavLink[];
|
|
|
|
afterNavigate(() => {
|
|
open = false;
|
|
});
|
|
</script>
|
|
|
|
<svelte:window on:resize={() => open && (open = false)} />
|
|
|
|
<nav class="web-side-nav web-is-not-desktop" class:hidden={!open}>
|
|
<div class="web-side-nav-wrapper ps-4 pe-4">
|
|
<div class="flex items-center gap-2 px-4">
|
|
<a href={getAppwriteDashboardUrl('/register')} class="web-button is-secondary flex-1">
|
|
Sign up
|
|
</a>
|
|
<IsLoggedIn classes="flex-1" />
|
|
</div>
|
|
<div class="web-side-nav-scroll">
|
|
<section>
|
|
<ul>
|
|
{#each links as { href, label, mobileSubmenu }}
|
|
<li>
|
|
{#if mobileSubmenu}
|
|
<svelte:component this={mobileSubmenu} {label} />
|
|
{:else}
|
|
<a class="web-side-nav-button" {href}>
|
|
<span class="text-caption">{label}</span>
|
|
</a>
|
|
{/if}
|
|
</li>
|
|
{/each}
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
<div class="web-side-nav-mobile-footer-buttons">
|
|
<a
|
|
href={SOCIAL_STATS.GITHUB.LINK}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="web-button is-text web-u-inline-width-100-percent-mobile"
|
|
>
|
|
<span class="web-icon-star" aria-hidden="true"></span>
|
|
<span class="text">Star on GitHub</span>
|
|
<span class="web-inline-tag text-sub-body">{SOCIAL_STATS.GITHUB.STAT}</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|