mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
refactor(web): common layout for user pages (#1995)
* refactor(web): common layout for user pages * remove unused imports
This commit is contained in:
parent
dd02f1025f
commit
9a332074c7
17 changed files with 437 additions and 552 deletions
47
web/src/lib/components/layouts/user-page-layout.svelte
Normal file
47
web/src/lib/components/layouts/user-page-layout.svelte
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<script lang="ts">
|
||||
import { openFileUploadDialog } from '$lib/utils/file-uploader';
|
||||
import type { UserResponseDto } from '@api';
|
||||
import NavigationBar from '../shared-components/navigation-bar/navigation-bar.svelte';
|
||||
import SideBar from '../shared-components/side-bar/side-bar.svelte';
|
||||
|
||||
export let user: UserResponseDto;
|
||||
export let hideNavbar = false;
|
||||
export let showUploadButton = false;
|
||||
export let title: string | undefined = undefined;
|
||||
</script>
|
||||
|
||||
<header>
|
||||
{#if !hideNavbar}
|
||||
<NavigationBar
|
||||
{user}
|
||||
shouldShowUploadButton={showUploadButton}
|
||||
on:uploadClicked={() => openFileUploadDialog()}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<slot name="header" />
|
||||
</header>
|
||||
|
||||
<main
|
||||
class="grid grid-cols-[250px_auto] relative pt-[4.25rem] h-screen bg-immich-bg dark:bg-immich-dark-bg immich-scrollbar"
|
||||
>
|
||||
<SideBar />
|
||||
|
||||
<slot name="content">
|
||||
<section class="my-8 mx-4 bg-immich-bg dark:bg-immich-dark-bg">
|
||||
{#if title}
|
||||
<div class="flex justify-between place-items-center dark:text-immich-dark-fg px-4 h-10">
|
||||
<p class="font-medium">{title}</p>
|
||||
|
||||
<slot name="buttons" />
|
||||
</div>
|
||||
|
||||
<div class="my-4">
|
||||
<hr class="dark:border-immich-dark-gray" />
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<slot />
|
||||
</section>
|
||||
</slot>
|
||||
</main>
|
||||
Loading…
Add table
Add a link
Reference in a new issue