|
4 | 4 | ref="modalRef" |
5 | 5 | :beforeCloseFunction="()=>{modalStore.onAcceptFunction(false);modalStore.isOpened=false}" |
6 | 6 | backgroundCustomClasses="z-[998]" |
7 | | - modalCustomClasses="z-[999]" |
| 7 | + modalCustomClasses="z-[999] flex items-center justify-center" |
8 | 8 | > |
9 | | - <div class="relative p-6 sm:p-8 w-[440px] bg-white rounded-2xl shadow-xl dark:bg-gray-800" > |
| 9 | + <div class="relative p-6 sm:p-8 w-[440px] bg-white rounded-lg shadow-xl dark:bg-gray-800" > |
10 | 10 |
|
11 | 11 | <button type="button" @click="modalStore.togleModal()" class="absolute top-4 right-4 text-gray-400 hover:text-gray-900 transition-colors dark:hover:text-white" > |
12 | 12 | <svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"> |
13 | 13 | <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"/> |
14 | 14 | </svg> |
15 | 15 | </button> |
16 | 16 |
|
17 | | - <div class="text-center"> |
18 | | - <div class="mx-auto flex items-center justify-center h-16 w-16 rounded-full bg-red-50 mb-5 relative dark:bg-red-900/20"> |
| 17 | + <div class="text-center flex flex-col"> |
| 18 | + <div class="mx-auto flex items-center justify-center h-16 w-16 rounded-full bg-red-50 mb-4 relative dark:bg-red-900/20"> |
19 | 19 | <IconClipboardDocumentSolid class="w-10 h-10 text-red-500" /> |
20 | | - <div class="absolute bottom-1 right-1 bg-red-500 rounded-full w-[18px] h-[18px] flex items-center justify-center border-2 border-white dark:border-gray-800"> |
21 | | - <span class="text-white text-[10px] font-medium">!</span> |
| 20 | + <div class="absolute bottom-1 right-1 bg-red-500 rounded-full w-[18px] h-[18px] flex items-center justify-center border-2 border-white dark:border-gray-800"> |
| 21 | + <span class="text-white text-[10px] font-medium">!</span> |
| 22 | + </div> |
22 | 23 | </div> |
23 | | - </div> |
24 | | - |
25 | | - <h3 v-if="modalStore?.modalContent?.title" class="mb-4 text-2xl font-bold text-gray-900 dark:text-white"> |
26 | | - {{ modalStore.modalContent.title }} |
27 | | - </h3> |
28 | 24 |
|
29 | | - <div class="mb-2 text-[15px] text-gray-600 dark:text-gray-300"> |
30 | | - <div v-if="modalStore?.modalContent?.contentHTML" class="font-medium" v-html="modalStore.modalContent.contentHTML"></div> |
31 | | - <p v-else-if="modalStore?.modalContent?.content" class="font-medium">{{ modalStore.modalContent.content }}</p> |
| 25 | + <div class="flex flex-col gap-3"> |
| 26 | + <h3 v-if="modalStore?.modalContent?.title" class="text-2xl font-bold text-gray-900 dark:text-white"> |
| 27 | + {{ modalStore.modalContent.title }} |
| 28 | + </h3> |
| 29 | + |
| 30 | + <div class="text-[15px] text-gray-600 dark:text-gray-300"> |
| 31 | + <div v-if="modalStore?.modalContent?.contentHTML" class="font-medium" v-html="modalStore.modalContent.contentHTML"></div> |
| 32 | + <p v-else-if="modalStore?.modalContent?.content" class="font-medium">{{ modalStore.modalContent.content }}</p> |
| 33 | + </div> |
32 | 34 | </div> |
33 | 35 |
|
34 | | - <hr class="border-t border-gray-100 dark:border-gray-700 mb-6"> |
| 36 | + <hr class="border-t border-gray-100 dark:border-gray-700 my-6"> |
35 | 37 |
|
36 | 38 | <div class="flex justify-center gap-4 w-full"> |
37 | 39 | <button @click="()=>{modalStore.onAcceptFunction(false);modalStore.togleModal()}" type="button" class="flex-1 py-2.5 px-4 text-sm font-medium text-gray-700 bg-white rounded-lg border border-gray-200 hover:bg-gray-50 focus:ring-4 focus:ring-gray-100 transition-all dark:bg-gray-800 dark:text-gray-300 dark:border-gray-600 dark:hover:bg-gray-700"> |
|
44 | 46 | class="flex-1 flex items-center justify-center py-2.5 px-4 text-sm font-medium transition-all focus:outline-none |
45 | 47 | text-white bg-red-600 hover:bg-red-700 |
46 | 48 | dark:bg-red-500 dark:hover:bg-red-600 |
47 | | - border border-red-700 dark:border-red-600 |
48 | | - rounded-lg shadow-sm focus:z-10 focus:ring-4 |
| 49 | + border-none rounded-lg shadow-sm focus:z-10 focus:ring-4 |
49 | 50 | focus:ring-red-100 dark:focus:ring-red-900 gap-1"> |
50 | 51 | {{ modalStore?.modalContent?.acceptText }} |
51 | 52 | </button> |
52 | 53 | </div> |
53 | 54 |
|
54 | | - <div class="flex items-center justify-center mt-5 text-xs text-gray-400 gap-1.5 font-medium"> |
55 | | - <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
56 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path> |
57 | | - </svg> |
58 | | - <span>Your changes will not be saved</span> |
| 55 | + <div v-if="modalStore?.modalContent?.guardMessage" class="flex items-center justify-center mt-6 text-xs text-gray-400 gap-1.5 font-medium"> |
| 56 | + <IconShieldCheck class="w-4 h-4" /> |
| 57 | + <span> {{ modalStore?.modalContent?.guardMessage }}</span> |
59 | 58 | </div> |
60 | 59 |
|
61 | 60 | </div> |
|
68 | 67 | import { watch, ref } from 'vue'; |
69 | 68 | import { useModalStore } from '@/stores/modal'; |
70 | 69 | import { Modal } from '@/afcl'; |
71 | | -import { IconClipboardDocumentSolid } from '@iconify-prerendered/vue-heroicons'; |
| 70 | +import { IconClipboardDocumentSolid, IconShieldCheck } from '@iconify-prerendered/vue-heroicons'; |
72 | 71 |
|
73 | 72 |
|
74 | 73 | const modalRef = ref(); |
|
0 commit comments