From 7f0fb27e4ef7c0b07b293e07fd9c791bc413b918 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Fri, 10 Nov 2023 10:30:30 +0100 Subject: [PATCH] feat(frontend): add confirmation modal when deleting a user in instance settings (#2608) --- .../lib/components/SuperadminSettings.svelte | 45 ++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/frontend/src/lib/components/SuperadminSettings.svelte b/frontend/src/lib/components/SuperadminSettings.svelte index 296bf82909..2ac3d4d19a 100644 --- a/frontend/src/lib/components/SuperadminSettings.svelte +++ b/frontend/src/lib/components/SuperadminSettings.svelte @@ -17,6 +17,7 @@ import { userStore } from '$lib/stores' import { ExternalLink } from 'lucide-svelte' import { settingsKeys } from './instanceSettings' + import ConfirmationModal from './common/confirmationModal/ConfirmationModal.svelte' let drawer: Drawer let filter = '' @@ -40,6 +41,7 @@ let users: GlobalUserInfo[] = [] let filteredUsers: GlobalUserInfo[] = [] + let deleteConfirmedCallback: (() => void) | undefined = undefined async function listUsers(): Promise { users = await UserService.listUsersAsSuperAdmin({ perPage: 100000 }) @@ -69,9 +71,15 @@ >
- + Admins workspace +
@@ -135,12 +143,16 @@
{ + deleteConfirmedCallback = async () => { + await UserService.globalUserDelete({ email }) + sendUserToast(`User ${email} removed`) + listUsers() + } + }} > + Remove +
@@ -167,3 +179,22 @@
+ + { + deleteConfirmedCallback = undefined + }} + on:confirmed={() => { + if (deleteConfirmedCallback) { + deleteConfirmedCallback() + } + deleteConfirmedCallback = undefined + }} +> +
+ Are you sure you want to remove ? +
+