logout, account and useradmin now only shows when logged in

This commit is contained in:
Patrick 2025-08-20 21:18:38 +02:00
parent 67255f3773
commit 803dcd19cb
2 changed files with 37 additions and 18 deletions

View File

@ -0,0 +1,10 @@
import type { LayoutServerLoad } from "./$types"
import Permissions from "$lib/permissions"
export const load: LayoutServerLoad = ({ locals }) => {
return {
loggedInAs: locals.user?.username,
isAdmin: Permissions.any(locals.user?.permissions ?? 0, Permissions.USERADMIN.ALL)
}
}

View File

@ -1,25 +1,34 @@
<script lang="ts">
let { children } = $props();
import type { LayoutProps } from './$types'
let { data, children }: LayoutProps = $props();
</script>
{#snippet nav(classlist: string)}
<div class={classlist}>
<h1>Navigation</h1>
<ul>
<li><a href="/">Stundenliste</a></li>
<li><a href="/schaetzung">Stundenschätzung</a></li>
<li><a href="/dokumente">Dokumente</a></li>
<li class="separator"></li>
<li><a href="/user">Account</a></li>
<li><a href="/useradmin">Benutzerverwaltung</a></li>
<li>
<form method="POST" action="/login?/logout">
<button type="submit">Logout</button>
</form>
</li>
</ul>
</div>
<div class={classlist}>
<h1>Navigation</h1>
<ul>
<li><a href="/">Stundenliste</a></li>
<li><a href="/schaetzung">Stundenschätzung</a></li>
<li><a href="/dokumente">Dokumente</a></li>
<li class="separator"></li>
{#if data?.loggedInAs != null}
<li>Eingeloggt als: {data.loggedInAs}</li>
<li><a href="/user">Account</a></li>
{/if}
{#if data?.isAdmin === true}
<li><a href="/useradmin">Benutzerverwaltung</a></li>
{/if}
{#if data?.loggedInAs != null}
<li>
<form method="POST" action="/login?/logout">
<button type="submit">Logout</button>
</form>
</li>
{/if}
</ul>
</div>
{/snippet}
<div class="navcontainer">