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