Files
immich/web/src/lib/components/layouts/AdminPageLayout.svelte

35 lines
1.1 KiB
Svelte
Raw Normal View History

2025-05-14 11:23:57 -04:00
<script lang="ts">
import PageContent from '$lib/components/layouts/PageContent.svelte';
2025-05-14 12:30:47 -04:00
import TitleLayout from '$lib/components/layouts/TitleLayout.svelte';
2025-05-14 11:23:57 -04:00
import NavigationBar from '$lib/components/shared-components/navigation-bar/navigation-bar.svelte';
2025-05-14 12:30:47 -04:00
import AdminSidebar from '$lib/sidebars/AdminSidebar.svelte';
2025-05-14 11:23:57 -04:00
import { sidebarStore } from '$lib/stores/sidebar.svelte';
import { AppShell, AppShellHeader, AppShellSidebar, Scrollable, type BreadcrumbItem } from '@immich/ui';
2025-05-14 11:23:57 -04:00
import type { Snippet } from 'svelte';
2025-05-14 12:30:47 -04:00
type Props = {
breadcrumbs: BreadcrumbItem[];
2025-05-14 11:23:57 -04:00
buttons?: Snippet;
children?: Snippet;
2025-05-14 12:30:47 -04:00
};
2025-05-14 11:23:57 -04:00
let { breadcrumbs, buttons, children }: Props = $props();
2025-05-14 11:23:57 -04:00
</script>
<AppShell>
<AppShellHeader>
<NavigationBar showUploadButton={false} noBorder />
</AppShellHeader>
<AppShellSidebar bind:open={sidebarStore.isOpen} class="border-none shadow-none">
2025-05-14 12:30:47 -04:00
<AdminSidebar />
2025-05-14 11:23:57 -04:00
</AppShellSidebar>
<TitleLayout {breadcrumbs} {buttons}>
2025-05-14 12:30:47 -04:00
<Scrollable class="grow">
<PageContent>
{@render children?.()}
</PageContent>
</Scrollable>
</TitleLayout>
2025-05-14 11:23:57 -04:00
</AppShell>