feat: locked/private view (#18268)

* feat: locked/private view

* feat: locked/private view

* pr feedback

* fix: redirect loop

* pr feedback
This commit is contained in:
Alex 2025-05-15 09:35:21 -06:00 committed by GitHub
parent 4935f3e0bb
commit b7b0b9b6d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
61 changed files with 1018 additions and 186 deletions

View file

@ -6,9 +6,10 @@
text: string;
fullWidth?: boolean;
src?: string;
title?: string;
}
let { onClick = undefined, text, fullWidth = false, src = empty1Url }: Props = $props();
let { onClick = undefined, text, fullWidth = false, src = empty1Url, title }: Props = $props();
let width = $derived(fullWidth ? 'w-full' : 'w-1/2');
@ -24,5 +25,9 @@
class="{width} m-auto mt-10 flex flex-col place-content-center place-items-center rounded-3xl bg-gray-50 p-5 dark:bg-immich-dark-gray {hoverClasses}"
>
<img {src} alt="" width="500" draggable="false" />
<p class="text-immich-text-gray-500 dark:text-immich-dark-fg">{text}</p>
{#if title}
<h2 class="text-xl font-medium my-4">{title}</h2>
{/if}
<p class="text-immich-text-gray-500 dark:text-immich-dark-fg font-light">{text}</p>
</svelte:element>

View file

@ -19,6 +19,8 @@
mdiImageMultiple,
mdiImageMultipleOutline,
mdiLink,
mdiLock,
mdiLockOutline,
mdiMagnify,
mdiMap,
mdiMapOutline,
@ -40,6 +42,7 @@
let isSharingSelected: boolean = $state(false);
let isTrashSelected: boolean = $state(false);
let isUtilitiesSelected: boolean = $state(false);
let isLockedFolderSelected: boolean = $state(false);
</script>
<Sidebar ariaLabel={$t('primary')}>
@ -128,6 +131,13 @@
icon={isArchiveSelected ? mdiArchiveArrowDown : mdiArchiveArrowDownOutline}
></SideBarLink>
<SideBarLink
title={$t('locked_folder')}
routeId="/(user)/locked"
bind:isSelected={isLockedFolderSelected}
icon={isLockedFolderSelected ? mdiLock : mdiLockOutline}
></SideBarLink>
{#if $featureFlags.trash}
<SideBarLink
title={$t('trash')}