2023-03-15 22:38:29 +01:00
|
|
|
<script lang="ts">
|
2025-01-14 09:14:28 -05:00
|
|
|
import ImmichLogo from '$lib/components/shared-components/immich-logo.svelte';
|
2024-11-14 08:43:25 -06:00
|
|
|
import type { Snippet } from 'svelte';
|
2023-03-15 22:38:29 +01:00
|
|
|
|
2024-11-14 08:43:25 -06:00
|
|
|
interface Props {
|
|
|
|
|
title: string;
|
|
|
|
|
message?: Snippet;
|
|
|
|
|
showMessage?: boolean;
|
|
|
|
|
children?: Snippet;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let { title, message, showMessage = message != undefined, children }: Props = $props();
|
2023-03-15 22:38:29 +01:00
|
|
|
</script>
|
|
|
|
|
|
2023-09-01 07:08:42 -04:00
|
|
|
<section class="min-w-screen flex min-h-screen place-content-center place-items-center p-4">
|
2023-07-01 00:50:47 -04:00
|
|
|
<div
|
2023-07-18 13:19:39 -05:00
|
|
|
class="flex w-full max-w-lg flex-col gap-4 rounded-3xl border bg-white p-8 shadow-sm dark:border-immich-dark-gray dark:bg-immich-dark-gray"
|
2023-07-01 00:50:47 -04:00
|
|
|
>
|
2023-07-18 13:19:39 -05:00
|
|
|
<div class="flex flex-col place-content-center place-items-center gap-4 py-4">
|
2024-03-13 21:00:22 -05:00
|
|
|
<ImmichLogo noText class="h-24 w-24" />
|
2023-07-18 13:19:39 -05:00
|
|
|
<h1 class="text-2xl font-medium text-immich-primary dark:text-immich-dark-primary">
|
2023-07-01 00:50:47 -04:00
|
|
|
{title}
|
|
|
|
|
</h1>
|
|
|
|
|
</div>
|
2023-03-15 22:38:29 +01:00
|
|
|
|
2023-07-01 00:50:47 -04:00
|
|
|
{#if showMessage}
|
|
|
|
|
<div
|
2023-07-18 13:19:39 -05:00
|
|
|
class="w-full rounded-xl border-2 border-immich-primary bg-immich-primary/5 p-4 text-sm font-medium text-immich-primary dark:border-immich-dark-bg dark:text-immich-dark-primary"
|
2023-07-01 00:50:47 -04:00
|
|
|
>
|
2024-11-14 08:43:25 -06:00
|
|
|
{@render message?.()}
|
2023-07-01 00:50:47 -04:00
|
|
|
</div>
|
|
|
|
|
{/if}
|
2023-03-15 22:38:29 +01:00
|
|
|
|
2024-11-14 08:43:25 -06:00
|
|
|
{@render children?.()}
|
2023-07-01 00:50:47 -04:00
|
|
|
</div>
|
2023-03-15 22:38:29 +01:00
|
|
|
</section>
|