From f89e74181b56db3134a904d52df90376d85a5f1c Mon Sep 17 00:00:00 2001 From: Alessandro Baroni Date: Mon, 3 Mar 2025 19:24:37 +0100 Subject: [PATCH] fix(web): delete action closes asset viewer in asset view (#15469) fixes #14647 --- web/src/lib/components/asset-viewer/actions/action.ts | 1 + .../components/asset-viewer/actions/delete-action.svelte | 6 ++++-- .../components/asset-viewer/asset-viewer-nav-bar.svelte | 6 ++++-- web/src/lib/components/asset-viewer/asset-viewer.svelte | 9 +++++++-- web/src/lib/components/photos-page/asset-grid.svelte | 9 ++++++--- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/web/src/lib/components/asset-viewer/actions/action.ts b/web/src/lib/components/asset-viewer/actions/action.ts index f8cfd447f0..40b189080f 100644 --- a/web/src/lib/components/asset-viewer/actions/action.ts +++ b/web/src/lib/components/asset-viewer/actions/action.ts @@ -19,3 +19,4 @@ export type Action = { [K in AssetAction]: { type: K } & ActionMap[K]; }[AssetAction]; export type OnAction = (action: Action) => void; +export type PreAction = (action: Action) => void; diff --git a/web/src/lib/components/asset-viewer/actions/delete-action.svelte b/web/src/lib/components/asset-viewer/actions/delete-action.svelte index c0f163634a..24ba2c845d 100644 --- a/web/src/lib/components/asset-viewer/actions/delete-action.svelte +++ b/web/src/lib/components/asset-viewer/actions/delete-action.svelte @@ -14,14 +14,15 @@ import { deleteAssets, type AssetResponseDto } from '@immich/sdk'; import { mdiDeleteForeverOutline, mdiDeleteOutline } from '@mdi/js'; import { t } from 'svelte-i18n'; - import type { OnAction } from './action'; + import type { OnAction, PreAction } from './action'; interface Props { asset: AssetResponseDto; onAction: OnAction; + preAction: PreAction; } - let { asset, onAction }: Props = $props(); + let { asset, onAction, preAction }: Props = $props(); let showConfirmModal = $state(false); @@ -41,6 +42,7 @@ const trashAsset = async () => { try { + preAction({ type: AssetAction.TRASH, asset }); await deleteAssets({ assetBulkDeleteDto: { ids: [asset.id] } }); onAction({ type: AssetAction.TRASH, asset }); 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 442302198b..a164a9e647 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 @@ -1,6 +1,6 @@