diff --git a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte
index 6111b81dbb..f7d4c30ec8 100644
--- a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte
+++ b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte
@@ -54,6 +54,7 @@
album?: AlbumResponseDto | null;
person?: PersonResponseDto | null;
stack?: StackResponseDto | null;
+ showCloseButton?: boolean;
showDetailButton: boolean;
showSlideshow?: boolean;
onZoomImage: () => void;
@@ -73,6 +74,7 @@
album = null,
person = null,
stack = null,
+ showCloseButton = true,
showDetailButton,
showSlideshow = false,
onZoomImage,
@@ -89,6 +91,7 @@
const sharedLink = getSharedLink();
let isOwner = $derived($user && asset.ownerId === $user?.id);
let showDownloadButton = $derived(sharedLink ? sharedLink.allowDownload : !asset.isOffline);
+
// $: showEditorButton =
// isOwner &&
// asset.type === AssetTypeEnum.Image &&
@@ -104,7 +107,9 @@
class="z-[1001] flex h-16 place-items-center justify-between bg-gradient-to-b from-black/40 px-3 transition-transform duration-200"
>
{#if !asset.isTrashed && $user}
diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte
index c4db1290d6..eec55ec396 100644
--- a/web/src/lib/components/asset-viewer/asset-viewer.svelte
+++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte
@@ -61,6 +61,7 @@
preAction?: PreAction | undefined;
onAction?: OnAction | undefined;
reactions?: ActivityResponseDto[];
+ showCloseButton?: boolean;
onClose: (dto: { asset: AssetResponseDto }) => void;
onNext: () => Promise
;
onPrevious: () => Promise;
@@ -79,6 +80,7 @@
preAction = undefined,
onAction = undefined,
reactions = $bindable([]),
+ showCloseButton,
onClose,
onNext,
onPrevious,
@@ -431,6 +433,7 @@
{album}
{person}
{stack}
+ {showCloseButton}
showDetailButton={enableDetailPanel}
showSlideshow={true}
onZoomImage={zoomToggle}
diff --git a/web/src/lib/components/share-page/individual-shared-viewer.svelte b/web/src/lib/components/share-page/individual-shared-viewer.svelte
index b46342ad91..36ccf3f7dc 100644
--- a/web/src/lib/components/share-page/individual-shared-viewer.svelte
+++ b/web/src/lib/components/share-page/individual-shared-viewer.svelte
@@ -1,6 +1,7 @@
- {#if assetInteraction.selectionActive}
- cancelMultiselect(assetInteraction)}
- >
-
- {#if sharedLink?.allowDownload}
-
- {/if}
- {#if isOwned}
-
- {/if}
-
- {:else}
- goto(AppRoute.PHOTOS)} backIcon={mdiArrowLeft} showBackButton={false}>
- {#snippet leading()}
-
- {/snippet}
-
- {#snippet trailing()}
- {#if sharedLink?.allowUpload}
- handleUploadAssets()}
- icon={mdiFileImagePlusOutline}
- />
- {/if}
-
+ {#if sharedLink?.allowUpload || assets.length > 1}
+ {#if assetInteraction.selectionActive}
+ cancelMultiselect(assetInteraction)}
+ >
+
{#if sharedLink?.allowDownload}
-
+
{/if}
- {/snippet}
-
+ {#if isOwned}
+
+ {/if}
+
+ {:else}
+ goto(AppRoute.PHOTOS)} backIcon={mdiArrowLeft} showBackButton={false}>
+ {#snippet leading()}
+
+ {/snippet}
+
+ {#snippet trailing()}
+ {#if sharedLink?.allowUpload}
+ handleUploadAssets()}
+ icon={mdiFileImagePlusOutline}
+ />
+ {/if}
+
+ {#if sharedLink?.allowDownload}
+
+ {/if}
+ {/snippet}
+
+ {/if}
+
+ {:else}
+ Promise.resolve(false)}
+ onNext={() => Promise.resolve(false)}
+ onRandom={() => Promise.resolve(undefined)}
+ onClose={() => {}}
+ />
{/if}
-