refactor: all user admin page modals (#18097)

This commit is contained in:
Daniel Dietzler
2025-05-05 23:54:42 +02:00
committed by GitHub
parent 12610e4a9f
commit 52975eadb3
5 changed files with 29 additions and 65 deletions

View File

@@ -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 @@
<ConfirmDialog
title={$t('delete_user')}
confirmText={forceDelete ? $t('permanently_delete') : $t('delete')}
onClose={(confirmed) => (confirmed ? handleDeleteUser() : onCancel())}
onClose={(confirmed) => (confirmed ? handleDeleteUser() : onClose())}
disabled={deleteButtonDisabled}
>
{#snippet promptSnippet()}

View File

@@ -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();
}
};
</script>
@@ -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()}
<p>