diff --git a/Web App/web/src/App.vue b/Web App/web/src/App.vue index 75015de..87ce59b 100644 --- a/Web App/web/src/App.vue +++ b/Web App/web/src/App.vue @@ -7,6 +7,7 @@ import { servers } from "./servers"; import { api } from "./api"; import { t } from "./i18n"; import Logo from "./components/Logo.vue"; +import ConfirmDialog from "./components/ConfirmDialog.vue"; import ServerSwitcher from "./components/ServerSwitcher.vue"; const router = useRouter(); @@ -161,4 +162,7 @@ onBeforeUnmount(() => themeObserver?.disconnect()); + + + diff --git a/Web App/web/src/components/AdminUsers.vue b/Web App/web/src/components/AdminUsers.vue index 4a24b87..7caf67d 100644 --- a/Web App/web/src/components/AdminUsers.vue +++ b/Web App/web/src/components/AdminUsers.vue @@ -6,6 +6,7 @@ import { api } from "../api"; import { state } from "../auth"; import { formatDate } from "../lib/format.js"; import { t } from "../i18n"; +import { askConfirm } from "../lib/confirm.js"; import Modal from "./Modal.vue"; const users = ref([]); @@ -121,7 +122,7 @@ async function submitResetPassword() { } async function removeUser(u) { - if (!confirm(t("admin.confirmDelete", { name: u.name || u.email }))) return; + if (!(await askConfirm(t("admin.confirmDelete", { name: u.name || u.email })))) return; error.value = ""; try { await api.deleteUser(u.id); diff --git a/Web App/web/src/components/ConfirmDialog.vue b/Web App/web/src/components/ConfirmDialog.vue new file mode 100644 index 0000000..82789d3 --- /dev/null +++ b/Web App/web/src/components/ConfirmDialog.vue @@ -0,0 +1,28 @@ + + + diff --git a/Web App/web/src/components/Modal.vue b/Web App/web/src/components/Modal.vue index f524f68..5e0fef7 100644 --- a/Web App/web/src/components/Modal.vue +++ b/Web App/web/src/components/Modal.vue @@ -1,10 +1,19 @@