This commit is contained in:
Ben Allfree 2024-12-03 02:06:02 -08:00
parent 3a75125216
commit a302c9ec86
2 changed files with 69 additions and 38 deletions

View File

@ -1,6 +1,12 @@
<script lang="ts"> <script lang="ts">
import Logo from '$src/routes/Navbar/Logo.svelte' import Logo from '$src/routes/Navbar/Logo.svelte'
import Fa from 'svelte-fa'
import NavbarMenu from './NavbarMenu.svelte' import NavbarMenu from './NavbarMenu.svelte'
import {
faDiscord,
faGithub,
faProductHunt,
} from '@fortawesome/free-brands-svg-icons'
</script> </script>
<div class="navbar bg-base-100 lg:pl-6"> <div class="navbar bg-base-100 lg:pl-6">
@ -12,21 +18,47 @@
class="h-5 w-5" class="h-5 w-5"
fill="none" fill="none"
viewBox="0 0 24 24" viewBox="0 0 24 24"
stroke="currentColor"> stroke="currentColor"
>
<path <path
stroke-linecap="round" stroke-linecap="round"
stroke-linejoin="round" stroke-linejoin="round"
stroke-width="2" stroke-width="2"
d="M4 6h16M4 12h8m-8 6h16" /> d="M4 6h16M4 12h8m-8 6h16"
/>
</svg> </svg>
</div> </div>
<NavbarMenu isCollapsed /> <NavbarMenu isCollapsed />
</div> </div>
<a href="/" class="flex items-center"> <a href="/" class="flex items-center pr-2 border-r-2 border-neutral">
<Logo /> <Logo />
<!-- Redundant with the Logo component --> <!-- Redundant with the Logo component -->
<!-- <div class="hidden md:block ml-1 text-sm">PocketHost</div> --> <!-- <div class="hidden md:block ml-1 text-sm">PocketHost</div> -->
</a> </a>
<a
href="https://github.com/pockethost/pockethost"
rel="noreferrer"
target="_blank"
class="m-2"
>
<Fa icon={faGithub} />
</a>
<a
href="https://www.producthunt.com/products/pockethost"
rel="noreferrer"
target="_blank"
class="m-2"
>
<Fa icon={faProductHunt} />
</a>
<a
href="https://discord.gg/nVTxCMEcGT"
rel="noreferrer"
target="_blank"
class="m-2"
>
<Fa icon={faDiscord} />
</a>
</div> </div>
<div class="flex-none"> <div class="flex-none">
<NavbarMenu /> <NavbarMenu />

View File

@ -1,11 +1,17 @@
<script lang="ts"> <script lang="ts">
import { client } from '$src/pocketbase-client' import { client } from '$src/pocketbase-client'
import UserHasRole from "$components/guards/UserHasRole.svelte" import UserHasRole from '$components/guards/UserHasRole.svelte'
import UserLoggedIn from "$components/guards/UserLoggedIn.svelte" import UserLoggedIn from '$components/guards/UserLoggedIn.svelte'
import UserLoggedOut from "$components/guards/UserLoggedOut.svelte" import UserLoggedOut from '$components/guards/UserLoggedOut.svelte'
import Avatar from "./Avatar.svelte" import {
faDiscord,
faGithub,
faProductHunt,
} from '@fortawesome/free-brands-svg-icons'
import Avatar from './Avatar.svelte'
import Fa from 'svelte-fa'
// Log the user out and redirect them to the homepage // Log the user out and redirect them to the homepage
const handleLogoutAndRedirect = async () => { const handleLogoutAndRedirect = async () => {
const { logOut } = client() const { logOut } = client()
@ -19,28 +25,32 @@
export let isCollapsed = false export let isCollapsed = false
</script> </script>
<ul class={`menu ${isCollapsed ? "dropdown-content bg-base-200 rounded-box z-[1] mt-3 w-52 p-2 shadow-xl" : "menu-horizontal items-center"}`} role="menu" tabindex="0"> <ul
class={`menu ${isCollapsed ? 'dropdown-content bg-base-200 rounded-box z-[1] mt-3 w-52 p-2 shadow-xl' : 'menu-horizontal items-center'}`}
role="menu"
tabindex="0"
>
<UserLoggedIn> <UserLoggedIn>
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/dashboard" rel="noreferrer">Dashboard</a> <a href="/dashboard" rel="noreferrer">Dashboard</a>
</li> </li>
</UserLoggedIn> </UserLoggedIn>
<UserHasRole role="stats"> <UserHasRole role="stats">
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/stats">Stats</a> <a href="/stats">Stats</a>
</li> </li>
</UserHasRole> </UserHasRole>
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/pricing" rel="noreferrer">Pricing</a> <a href="/pricing" rel="noreferrer">Pricing</a>
</li> </li>
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/support" rel="noreferrer">Support</a> <a href="/support" rel="noreferrer">Support</a>
</li> </li>
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/docs" rel="noreferrer">Docs</a> <a href="/docs" rel="noreferrer">Docs</a>
</li> </li>
<UserLoggedOut> <UserLoggedOut>
<li class={isCollapsed ? "" : "hidden lg:flex"}> <li class={isCollapsed ? '' : 'hidden lg:flex'}>
<a href="/about" rel="noreferrer">About</a> <a href="/about" rel="noreferrer">About</a>
</li> </li>
</UserLoggedOut> </UserLoggedOut>
@ -48,17 +58,18 @@
<UserLoggedIn> <UserLoggedIn>
{#if !isCollapsed} {#if !isCollapsed}
<li> <li>
<div class="dropdown dropdown-end p-0 m-0">
<Avatar />
<div class="dropdown dropdown-end p-0 m-0"> <ul
<Avatar /> class="menu dropdown-content bg-base-300 rounded-box z-[1] mt-36 md:mt-24 w-52 p-2 shadow"
>
<ul class="menu dropdown-content bg-base-300 rounded-box z-[1] mt-36 md:mt-24 w-52 p-2 shadow"> <li><a href="/account">Settings</a></li>
<li><a href="/account">Settings</a></li> <li>
<li> <button on:click={handleLogoutAndRedirect}>Logout</button>
<button on:click={handleLogoutAndRedirect}>Logout</button> </li>
</li> </ul>
</ul> </div>
</div>
</li> </li>
{/if} {/if}
</UserLoggedIn> </UserLoggedIn>
@ -67,18 +78,6 @@
<a href="/login" class="">Login</a> <a href="/login" class="">Login</a>
</li> </li>
</UserLoggedOut> </UserLoggedOut>
{#if !isCollapsed}
<li>
<a href="https://github.com/pockethost/pockethost" rel="noreferrer">
<img
src="https://img.shields.io/github/stars/pockethost/pockethost"
width="88"
height="20"
alt="GitHub stars"
/>
</a>
</li>
{/if}
</ul> </ul>
<style> <style>