Some checks failed
CI / Unit & Component Tests (push) Failing after 2m37s
CI / OCR Service Tests (push) Successful in 32s
CI / OCR Service Tests (pull_request) Successful in 30s
CI / Backend Unit Tests (push) Failing after 2m47s
CI / Unit & Component Tests (pull_request) Failing after 2m29s
CI / Backend Unit Tests (pull_request) Failing after 2m46s
- Add /register route with invite code prefill, password show/hide - Add /login?registered=1 success banner - Add /admin/invites page: list, create, revoke, copy link - Add Einladungen nav section to admin sidebar (ADMIN_USER perm) - Add invite error codes to errors.ts - Add 48 i18n keys across de/en/es - Update hooks.server.ts to allow public access to invite/register API Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
1002 B
Svelte
35 lines
1002 B
Svelte
<script lang="ts">
|
|
import EntityNav from './EntityNav.svelte';
|
|
|
|
let { data, children } = $props();
|
|
</script>
|
|
|
|
<svelte:head>
|
|
<title>Admin · Familienarchiv</title>
|
|
</svelte:head>
|
|
|
|
<!--
|
|
-mt-6: cancel the global layout's pt-6 on <main>
|
|
Height fills from below the global header (64px) to bottom of viewport.
|
|
-->
|
|
<div class="-mt-6 -mb-6 flex overflow-hidden" style="height: calc(100vh - 65px)">
|
|
<!-- Entity Nav: hidden on mobile, icon strip on tablet, full labels on desktop -->
|
|
<div class="hidden md:flex">
|
|
<EntityNav
|
|
userCount={data.userCount}
|
|
groupCount={data.groupCount}
|
|
tagCount={data.tagCount}
|
|
inviteCount={data.inviteCount}
|
|
canManageUsers={data.canManageUsers}
|
|
canManageTags={data.canManageTags}
|
|
canManagePermissions={data.canManagePermissions}
|
|
canRunMaintenance={data.canRunMaintenance}
|
|
/>
|
|
</div>
|
|
|
|
<!-- Right side: list panel + detail panel (or full-width for system) -->
|
|
<div class="flex min-w-0 flex-1 overflow-hidden">
|
|
{@render children()}
|
|
</div>
|
|
</div>
|