From 78b7732411e285cd191e02f751fae0102f56be3a Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Sat, 16 Aug 2025 11:59:48 +0200 Subject: [PATCH] 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 +}