From f60b9238c830a0e68b9b7ecb8fd13baf53a04785 Mon Sep 17 00:00:00 2001 From: "inf.baroni" Date: Mon, 20 Jan 2025 11:44:41 +0100 Subject: [PATCH] fix(web): 14647 Performing "delete" from full-screen view takes client to the top of gallery view --- 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 f8cfd447f0b94..40b189080ff97 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 c0f163634a83b..24ba2c845dc49 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 442302198b673..a164a9e64718f 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 @@