From 6f9d281d840db4a927d3cdc19acb28b2f5d09ff9 Mon Sep 17 00:00:00 2001 From: Radekor500 Date: Sat, 15 Jul 2023 13:50:51 +0200 Subject: [PATCH 1/3] close icon --- .../ClientApp/src/assets/icons/CloseIcon.vue | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 SecureSend/ClientApp/src/assets/icons/CloseIcon.vue diff --git a/SecureSend/ClientApp/src/assets/icons/CloseIcon.vue b/SecureSend/ClientApp/src/assets/icons/CloseIcon.vue new file mode 100644 index 0000000..bd46d75 --- /dev/null +++ b/SecureSend/ClientApp/src/assets/icons/CloseIcon.vue @@ -0,0 +1,17 @@ + From d7ce528e2cdf1d55e7729d1635483e413c2c4d77 Mon Sep 17 00:00:00 2001 From: Radekor500 Date: Sat, 15 Jul 2023 13:51:04 +0200 Subject: [PATCH 2/3] confirm modal --- .../ClientApp/src/components/ConfirmModal.vue | 51 +++++++++++++++++ .../src/utils/composables/useConfirmDialog.ts | 56 +++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 SecureSend/ClientApp/src/components/ConfirmModal.vue create mode 100644 SecureSend/ClientApp/src/utils/composables/useConfirmDialog.ts diff --git a/SecureSend/ClientApp/src/components/ConfirmModal.vue b/SecureSend/ClientApp/src/components/ConfirmModal.vue new file mode 100644 index 0000000..b1f04a3 --- /dev/null +++ b/SecureSend/ClientApp/src/components/ConfirmModal.vue @@ -0,0 +1,51 @@ + + + diff --git a/SecureSend/ClientApp/src/utils/composables/useConfirmDialog.ts b/SecureSend/ClientApp/src/utils/composables/useConfirmDialog.ts new file mode 100644 index 0000000..26157cd --- /dev/null +++ b/SecureSend/ClientApp/src/utils/composables/useConfirmDialog.ts @@ -0,0 +1,56 @@ +import { type Ref, ref, computed, type ComputedRef } from "vue"; + +export type UseConfirmDialogRevealResult = + | { + data?: C; + isCanceled: false; + } + | { + data?: D; + isCanceled: true; + }; + +export interface UseConfirmDialogReturn { + isRevealed: ComputedRef; + reveal: ( + data?: RevealData + ) => Promise>; + confirm: (data?: ConfirmData) => void; + cancel: (data?: CancelData) => void; +} + +export function useConfirmDialog( + revealed: Ref = ref(false) +) { + let _resolve: ( + arg0: UseConfirmDialogRevealResult + ) => void; + + const reveal = () => { + revealed.value = true; + + return new Promise>( + (resolve) => { + _resolve = resolve; + } + ); + }; + + const confirm = (data: ConfirmData) => { + revealed.value = false; + + _resolve({ data, isCanceled: false }); + }; + + const cancel = (data?: CancelData) => { + revealed.value = false; + _resolve({ data, isCanceled: true }); + }; + + return { + isRevealed: computed(() => revealed.value), + reveal, + confirm, + cancel, + }; +} From 7cfec7b7339b6fc9c5bcdc44a407f86e4ef6d2ba Mon Sep 17 00:00:00 2001 From: Radekor500 Date: Sat, 15 Jul 2023 13:51:23 +0200 Subject: [PATCH 3/3] use modal in upload view --- .../ClientApp/src/views/FileUploadView.vue | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/SecureSend/ClientApp/src/views/FileUploadView.vue b/SecureSend/ClientApp/src/views/FileUploadView.vue index 7feb914..eead77f 100644 --- a/SecureSend/ClientApp/src/views/FileUploadView.vue +++ b/SecureSend/ClientApp/src/views/FileUploadView.vue @@ -37,6 +37,21 @@ + + + + +