From 15d431ba6a9caf6ba8f4a97ea357bfcd00c7245b Mon Sep 17 00:00:00 2001 From: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Date: Fri, 2 May 2025 19:34:53 +0200 Subject: [PATCH] refactor: dialog callbacks (#18034) --- .../admin-page/delete-confirm-dialogue.svelte | 3 +- .../admin-page/restore-dialogue.svelte | 3 +- .../settings/auth/auth-settings.svelte | 3 +- .../album-page/album-options.svelte | 31 +++++++++---------- .../album-page/share-info-modal.svelte | 18 +++++------ .../asset-viewer/editor/editor-panel.svelte | 16 +++++----- .../photos-page/delete-asset-dialog.svelte | 9 +++--- .../shared-components/change-date.svelte | 9 +++--- .../shared-components/change-location.svelte | 23 ++++++++------ .../dialog/confirm-dialog.svelte | 18 +++++------ .../shared-components/dialog/dialog.ts | 11 ++----- web/src/routes/admin/jobs-status/+page.svelte | 3 +- .../routes/admin/user-management/+page.svelte | 3 +- 13 files changed, 69 insertions(+), 81 deletions(-) diff --git a/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte b/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte index 6eb603263e..e2d3c86bf3 100644 --- a/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte +++ b/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte @@ -47,8 +47,7 @@ (confirmed ? handleDeleteUser() : onCancel())} disabled={deleteButtonDisabled} > {#snippet promptSnippet()} diff --git a/web/src/lib/components/admin-page/restore-dialogue.svelte b/web/src/lib/components/admin-page/restore-dialogue.svelte index 1386ae9fc4..7fd51aaf06 100644 --- a/web/src/lib/components/admin-page/restore-dialogue.svelte +++ b/web/src/lib/components/admin-page/restore-dialogue.svelte @@ -33,8 +33,7 @@ title={$t('restore_user')} confirmText={$t('continue')} confirmColor="success" - onConfirm={handleRestoreUser} - {onCancel} + onClose={(confirmed) => (confirmed ? handleRestoreUser() : onCancel())} > {#snippet promptSnippet()}

diff --git a/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte b/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte index b2454b06c3..2a270f7438 100644 --- a/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte +++ b/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte @@ -49,8 +49,7 @@ {#if isConfirmOpen} (isConfirmOpen = false)} - onConfirm={() => handleSave(true)} + onClose={(confirmed) => (confirmed ? handleSave(true) : (isConfirmOpen = false))} > {#snippet promptSnippet()}

diff --git a/web/src/lib/components/album-page/album-options.svelte b/web/src/lib/components/album-page/album-options.svelte index 884de8c2a2..4a8c018fbd 100644 --- a/web/src/lib/components/album-page/album-options.svelte +++ b/web/src/lib/components/album-page/album-options.svelte @@ -1,27 +1,27 @@ @@ -71,9 +74,6 @@ cancelColor="secondary" confirmColor="danger" confirmText={$t('close')} - onCancel={() => { - $showCancelConfirmDialog = false; - }} - onConfirm={() => (typeof $showCancelConfirmDialog === 'boolean' ? null : $showCancelConfirmDialog())} + onClose={(confirmed) => (confirmed ? onConfirm() : ($showCancelConfirmDialog = false))} /> {/if} diff --git a/web/src/lib/components/photos-page/delete-asset-dialog.svelte b/web/src/lib/components/photos-page/delete-asset-dialog.svelte index 3053600a47..fbdec86244 100644 --- a/web/src/lib/components/photos-page/delete-asset-dialog.svelte +++ b/web/src/lib/components/photos-page/delete-asset-dialog.svelte @@ -1,9 +1,9 @@ - + (confirmed ? handleConfirm() : onCancel())} +> {#snippet promptSnippet()}
diff --git a/web/src/lib/components/shared-components/dialog/confirm-dialog.svelte b/web/src/lib/components/shared-components/dialog/confirm-dialog.svelte index dad16d52ca..32f4b6a8f4 100644 --- a/web/src/lib/components/shared-components/dialog/confirm-dialog.svelte +++ b/web/src/lib/components/shared-components/dialog/confirm-dialog.svelte @@ -1,8 +1,8 @@ - + onClose(false)} {width}>
{#if promptSnippet}{@render promptSnippet()}{:else}

{prompt}

@@ -48,7 +46,7 @@ {#snippet stickyBottom()} {#if !hideCancelButton} - {/if} diff --git a/web/src/lib/components/shared-components/dialog/dialog.ts b/web/src/lib/components/shared-components/dialog/dialog.ts index 8efff58da0..69a64aad21 100644 --- a/web/src/lib/components/shared-components/dialog/dialog.ts +++ b/web/src/lib/components/shared-components/dialog/dialog.ts @@ -1,8 +1,7 @@ import { writable } from 'svelte/store'; type DialogActions = { - onConfirm: () => void; - onCancel: () => void; + onClose: (confirmed: boolean) => void; }; type DialogOptions = { @@ -24,13 +23,9 @@ function createDialogWrapper() { return new Promise((resolve) => { const newDialog: Dialog = { ...options, - onConfirm: () => { + onClose: (confirmed) => { dialog.set(undefined); - resolve(true); - }, - onCancel: () => { - dialog.set(undefined); - resolve(false); + resolve(confirmed); }, }; diff --git a/web/src/routes/admin/jobs-status/+page.svelte b/web/src/routes/admin/jobs-status/+page.svelte index 07757614e5..af7f3d11af 100644 --- a/web/src/routes/admin/jobs-status/+page.svelte +++ b/web/src/routes/admin/jobs-status/+page.svelte @@ -102,8 +102,7 @@ confirmColor="primary" title={$t('admin.create_job')} disabled={!selectedJob} - onConfirm={handleCreate} - onCancel={handleCancel} + onClose={(confirmed) => (confirmed ? handleCreate() : handleCancel())} > {#snippet promptSnippet()}
diff --git a/web/src/routes/admin/user-management/+page.svelte b/web/src/routes/admin/user-management/+page.svelte index a25799588a..8b96c6c922 100644 --- a/web/src/routes/admin/user-management/+page.svelte +++ b/web/src/routes/admin/user-management/+page.svelte @@ -152,8 +152,7 @@ (shouldShowPasswordResetSuccess = false)} - onCancel={() => (shouldShowPasswordResetSuccess = false)} + onClose={() => (shouldShowPasswordResetSuccess = false)} hideCancelButton={true} confirmColor="success" >