void;
onEscape?: () => void;
children?: Snippet;
@@ -79,7 +78,6 @@
album,
albumUsers = [],
person,
- isShowDeleteConfirmation = $bindable(false),
onSelect = () => {},
onEscape = () => {},
children,
@@ -600,7 +598,6 @@
scrollToAsset={(asset) => scrollToAsset(asset) ?? false}
{timelineManager}
{assetInteraction}
- bind:isShowDeleteConfirmation
{onEscape}
/>
diff --git a/web/src/lib/components/timeline/actions/DeleteAssetsAction.svelte b/web/src/lib/components/timeline/actions/DeleteAssetsAction.svelte
index 7277afe609..6f6a2f4feb 100644
--- a/web/src/lib/components/timeline/actions/DeleteAssetsAction.svelte
+++ b/web/src/lib/components/timeline/actions/DeleteAssetsAction.svelte
@@ -1,55 +1,48 @@
{#if menuItem}
-
+
{:else if loading}
-{/if}
-
-{#if isShowConfirmation}
-
(isShowConfirmation = false)}
+ onclick={onAction}
/>
{/if}
diff --git a/web/src/lib/components/timeline/actions/TimelineKeyboardActions.svelte b/web/src/lib/components/timeline/actions/TimelineKeyboardActions.svelte
index b731635355..00ac128663 100644
--- a/web/src/lib/components/timeline/actions/TimelineKeyboardActions.svelte
+++ b/web/src/lib/components/timeline/actions/TimelineKeyboardActions.svelte
@@ -1,7 +1,6 @@
-
-{#if isShowDeleteConfirmation}
- (isShowDeleteConfirmation = false)}
- onConfirm={() => handlePromiseError(trashOrDelete(true))}
- />
-{/if}
diff --git a/web/src/lib/components/photos-page/delete-asset-dialog.svelte b/web/src/lib/modals/AssetDeleteConfirmModal.svelte
similarity index 80%
rename from web/src/lib/components/photos-page/delete-asset-dialog.svelte
rename to web/src/lib/modals/AssetDeleteConfirmModal.svelte
index d5036dbe9f..95c580d8f2 100644
--- a/web/src/lib/components/photos-page/delete-asset-dialog.svelte
+++ b/web/src/lib/modals/AssetDeleteConfirmModal.svelte
@@ -5,21 +5,21 @@
import { mdiDeleteForeverOutline } from '@mdi/js';
import { t } from 'svelte-i18n';
- interface Props {
+ type Props = {
size: number;
- onConfirm: () => void;
- onCancel: () => void;
- }
+ onClose: (confirmed?: boolean) => void;
+ };
- let { size, onConfirm, onCancel }: Props = $props();
+ let { size, onClose: onCloseParent }: Props = $props();
let checked = $state(false);
- const handleConfirm = () => {
- if (checked) {
+ const onClose = (confirmed: boolean) => {
+ if (confirmed && checked) {
$showDeleteModal = false;
}
- onConfirm();
+
+ onCloseParent(confirmed);
};
@@ -27,7 +27,7 @@
title={$t('permanently_delete_assets_count', { values: { count: size } })}
confirmText={$t('delete')}
icon={mdiDeleteForeverOutline}
- onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())}
+ {onClose}
>
{#snippet promptSnippet()}