From 78b7732411e285cd191e02f751fae0102f56be3a Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Sat, 16 Aug 2025 11:59:48 +0200 Subject: [PATCH 1/2] feat: add Confirmation modal to prompt users to confirm or cancel dangerous actions --- components/Modal/Base.vue | 5 +++ components/Modal/Confirmation.vue | 54 +++++++++++++++++++++++++++++++ types/interfaces.ts | 5 +++ 3 files changed, 64 insertions(+) create mode 100644 components/Modal/Confirmation.vue diff --git a/components/Modal/Base.vue b/components/Modal/Base.vue index 3fd7079..68fd96a 100644 --- a/components/Modal/Base.vue +++ b/components/Modal/Base.vue @@ -25,6 +25,11 @@ onMounted(() => { if (props.onCancel) dialog.value.addEventListener("cancel", props.onCancel); } }); + +function close() { dialog.value?.close() } + +defineExpose({ close }); + \ No newline at end of file diff --git a/types/interfaces.ts b/types/interfaces.ts index bb6489b..02235e0 100644 --- a/types/interfaces.ts +++ b/types/interfaces.ts @@ -140,3 +140,8 @@ export interface NavbarOptions { isDirectMessages?: boolean } +export interface IConfirmationModal { + show: boolean, + actionName: string, + callback: CallableFunction +} From 3a9df965c23f418f46fa027bb5c7d4f614c440b7 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Sat, 16 Aug 2025 12:01:36 +0200 Subject: [PATCH 2/2] feat: implement Confirmation modal on kick and ban context menu actions --- components/Message.vue | 21 ++++++++++++-- utils/createMemberContextMenuItems.ts | 42 ++++++++++++++++++++++++--- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/components/Message.vue b/components/Message.vue index 066331b..fa202aa 100644 --- a/components/Message.vue +++ b/components/Message.vue @@ -59,6 +59,9 @@ +