diff --git a/web/src/lib/components/forms/create-user-form.svelte b/web/src/lib/modals/UserCreateModal.svelte similarity index 100% rename from web/src/lib/components/forms/create-user-form.svelte rename to web/src/lib/modals/UserCreateModal.svelte diff --git a/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte b/web/src/lib/modals/UserDeleteConfirmModal.svelte similarity index 89% rename from web/src/lib/components/admin-page/delete-confirm-dialogue.svelte rename to web/src/lib/modals/UserDeleteConfirmModal.svelte index e2d3c86bf3..8bd7d35cd8 100644 --- a/web/src/lib/components/admin-page/delete-confirm-dialogue.svelte +++ b/web/src/lib/modals/UserDeleteConfirmModal.svelte @@ -9,12 +9,10 @@ interface Props { user: UserResponseDto; - onSuccess: () => void; - onFail: () => void; - onCancel: () => void; + onClose: (confirmed?: true) => void; } - let { user, onSuccess, onFail, onCancel }: Props = $props(); + let { user, onClose }: Props = $props(); let forceDelete = $state(false); let deleteButtonDisabled = $state(false); @@ -27,14 +25,11 @@ userAdminDeleteDto: { force: forceDelete }, }); - if (deletedAt == undefined) { - onFail(); - } else { - onSuccess(); + if (deletedAt !== undefined) { + onClose(true); } } catch (error) { handleError(error, $t('errors.unable_to_delete_user')); - onFail(); } }; @@ -47,7 +42,7 @@ (confirmed ? handleDeleteUser() : onCancel())} + onClose={(confirmed) => (confirmed ? handleDeleteUser() : onClose())} disabled={deleteButtonDisabled} > {#snippet promptSnippet()} diff --git a/web/src/lib/components/forms/edit-user-form.svelte b/web/src/lib/modals/UserEditModal.svelte similarity index 100% rename from web/src/lib/components/forms/edit-user-form.svelte rename to web/src/lib/modals/UserEditModal.svelte diff --git a/web/src/lib/components/admin-page/restore-dialogue.svelte b/web/src/lib/modals/UserRestoreConfirmModal.svelte similarity index 80% rename from web/src/lib/components/admin-page/restore-dialogue.svelte rename to web/src/lib/modals/UserRestoreConfirmModal.svelte index 7fd51aaf06..551550c012 100644 --- a/web/src/lib/components/admin-page/restore-dialogue.svelte +++ b/web/src/lib/modals/UserRestoreConfirmModal.svelte @@ -7,24 +7,20 @@ interface Props { user: UserResponseDto; - onSuccess: () => void; - onFail: () => void; - onCancel: () => void; + onClose: (confirmed?: true) => void; } - let { user, onSuccess, onFail, onCancel }: Props = $props(); + let { user, onClose }: Props = $props(); const handleRestoreUser = async () => { try { const { deletedAt } = await restoreUserAdmin({ id: user.id }); - if (deletedAt == undefined) { - onSuccess(); - } else { - onFail(); + + if (deletedAt === undefined) { + onClose(true); } } catch (error) { handleError(error, $t('errors.unable_to_restore_user')); - onFail(); } }; @@ -33,7 +29,7 @@ title={$t('restore_user')} confirmText={$t('continue')} confirmColor="success" - onClose={(confirmed) => (confirmed ? handleRestoreUser() : onCancel())} + onClose={(confirmed) => (confirmed ? handleRestoreUser() : onClose())} > {#snippet promptSnippet()}

diff --git a/web/src/routes/admin/user-management/+page.svelte b/web/src/routes/admin/user-management/+page.svelte index 42d1404177..817ca9cff4 100644 --- a/web/src/routes/admin/user-management/+page.svelte +++ b/web/src/routes/admin/user-management/+page.svelte @@ -1,10 +1,6 @@

- {#if shouldShowDeleteConfirmDialog && selectedUser} - (shouldShowDeleteConfirmDialog = false)} - /> - {/if} - - {#if shouldShowRestoreDialog && selectedUser} - (shouldShowRestoreDialog = false)} - /> - {/if} - deleteUserHandler(immichUser)} + onclick={() => handleDelete(immichUser)} aria-label={$t('delete_user')} /> {/if} @@ -189,7 +162,7 @@ title={$t('admin.user_restore_scheduled_removal', { values: { date: getDeleteDate(immichUser.deletedAt) }, })} - onclick={() => restoreUserHandler(immichUser)} + onclick={() => handleRestore(immichUser)} aria-label={$t('admin.user_restore_scheduled_removal')} /> {/if}