Implemented permissions and user administration #2

Merged
Patrick merged 17 commits from dev into main 2025-08-25 17:33:06 +02:00
2 changed files with 37 additions and 18 deletions
Showing only changes of commit 803dcd19cb - Show all commits

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,5 +1,7 @@
<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)}
@ -11,13 +13,20 @@
<li><a href="/dokumente">Dokumente</a></li> <li><a href="/dokumente">Dokumente</a></li>
<li class="separator"></li> <li class="separator"></li>
{#if data?.loggedInAs != null}
<li>Eingeloggt als: {data.loggedInAs}</li>
<li><a href="/user">Account</a></li> <li><a href="/user">Account</a></li>
{/if}
{#if data?.isAdmin === true}
<li><a href="/useradmin">Benutzerverwaltung</a></li> <li><a href="/useradmin">Benutzerverwaltung</a></li>
{/if}
{#if data?.loggedInAs != null}
<li> <li>
<form method="POST" action="/login?/logout"> <form method="POST" action="/login?/logout">
<button type="submit">Logout</button> <button type="submit">Logout</button>
</form> </form>
</li> </li>
{/if}
</ul> </ul>
</div> </div>
{/snippet} {/snippet}