diff --git a/web/src/lib/components/photos-page/asset-grid.svelte b/web/src/lib/components/photos-page/asset-grid.svelte
index 59ab2ef769..0fc2711639 100644
--- a/web/src/lib/components/photos-page/asset-grid.svelte
+++ b/web/src/lib/components/photos-page/asset-grid.svelte
@@ -37,6 +37,7 @@
let showSkeleton = true;
$: timelineY = element?.scrollTop || 0;
+ $: isEmpty = $assetStore.initialized && $assetStore.buckets.length === 0;
const onKeyboardPress = (event: KeyboardEvent) => handleKeyboardPress(event);
const dispatch = createEventDispatcher<{ select: AssetResponseDto; escape: void }>();
@@ -325,7 +326,7 @@
- {#if $assetStore.initialized && $assetStore.buckets.length === 0}
+ {#if isEmpty}
{/if}
diff --git a/web/src/lib/components/shared-components/empty-placeholder.svelte b/web/src/lib/components/shared-components/empty-placeholder.svelte
index 8e99502d8f..1ba673181c 100644
--- a/web/src/lib/components/shared-components/empty-placeholder.svelte
+++ b/web/src/lib/components/shared-components/empty-placeholder.svelte
@@ -4,26 +4,25 @@
export let actionHandler: undefined | (() => unknown) = undefined;
export let text = '';
export let alt = '';
+ export let fullWidth = false;
export let src = empty1Url;
- let hoverClasses = 'hover:bg-immich-primary/5 dark:hover:bg-immich-dark-primary/25 hover:cursor-pointer';
+ const noop = () => undefined;
+
+ $: handler = actionHandler || noop;
+ $: width = fullWidth ? 'w-full' : 'w-[50%]';
+
+ const hoverClasses = actionHandler
+ ? `border dark:border-immich-dark-gray hover:bg-immich-primary/5 dark:hover:bg-immich-dark-primary/25 hover:cursor-pointer`
+ : '';
-{#if actionHandler}
-
-
-
-
{text}
-
-{:else}
-
-
-
{text}
-
-{/if}
+
+
+
+
{text}
+
diff --git a/web/src/routes/(user)/sharing/+page.svelte b/web/src/routes/(user)/sharing/+page.svelte
index 5bc8495e49..5a2c3d9c1b 100644
--- a/web/src/routes/(user)/sharing/+page.svelte
+++ b/web/src/routes/(user)/sharing/+page.svelte
@@ -1,20 +1,21 @@