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 1b2d15994e..c1494b14f0 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 @@ -91,7 +91,7 @@ const Close: ActionItem = $derived({ title: $t('go_back'), icon: languageManager.rtl ? mdiArrowRight : mdiArrowLeft, - $if: () => !!onClose && !assetViewerManager.isFaceEditMode, + $if: () => !!onClose && !assetViewerManager.isFaceEditMode && !assetViewerManager.isEditFacesPanelOpen, onAction: () => onClose?.(), shortcuts: [{ key: 'Escape' }], }); diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte index a2cb1b36dc..bf13cb4399 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -173,7 +173,7 @@ onDestroy(() => { activityManager.reset(); - assetViewerManager.closeEditor(); + assetViewerManager.resetPanelState(); syncAssetViewerOpenClass(false); preloadManager.destroy(); }); diff --git a/web/src/lib/components/asset-viewer/detail-panel.svelte b/web/src/lib/components/asset-viewer/detail-panel.svelte index daacb5f193..7cb486c5a6 100644 --- a/web/src/lib/components/asset-viewer/detail-panel.svelte +++ b/web/src/lib/components/asset-viewer/detail-panel.svelte @@ -54,7 +54,7 @@ let { asset, currentAlbum = null }: Props = $props(); - let showEditFaces = $state(false); + let showEditFaces = $derived(assetViewerManager.isEditFacesPanelOpen); let isOwner = $derived(authManager.authenticated && authManager.user.id === asset.ownerId); let people = $derived(asset.people || []); let unassignedFaces = $derived(asset.unassignedFaces || []); @@ -103,7 +103,7 @@ return; } - showEditFaces = false; + assetViewerManager.closeEditFacesPanel(); previousId = asset.id; }); @@ -119,7 +119,7 @@ const handleRefreshPeople = async () => { asset = await getAssetInfo({ id: asset.id }); - showEditFaces = false; + assetViewerManager.closeEditFacesPanel(); }; const getAssetFolderHref = (asset: AssetResponseDto) => { @@ -214,7 +214,7 @@ shape="round" color="secondary" variant="ghost" - onclick={() => (showEditFaces = true)} + onclick={() => assetViewerManager.openEditFacesPanel()} /> {/if} @@ -572,7 +572,7 @@ (showEditFaces = false)} + onClose={() => assetViewerManager.closeEditFacesPanel()} onRefresh={handleRefreshPeople} /> {/if} diff --git a/web/src/lib/components/faces-page/person-side-panel.svelte b/web/src/lib/components/faces-page/person-side-panel.svelte index ddeddb1ed2..fa5afadfa6 100644 --- a/web/src/lib/components/faces-page/person-side-panel.svelte +++ b/web/src/lib/components/faces-page/person-side-panel.svelte @@ -1,4 +1,5 @@