31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <script>
 | |
|     document.addEventListener('alpine:init', () => {
 | |
|         Alpine.data('confirmModal', () => ({
 | |
|             open: false,
 | |
|             confirmAction: null,
 | |
|             message: 'Are you sure?',
 | |
|             toggleConfirmModal(customMessage, confirmAction) {
 | |
|                 this.confirmAction = confirmAction
 | |
|                 this.message = customMessage
 | |
|                 this.open = !this.open
 | |
|             },
 | |
|             confirmed() {
 | |
|                 this.open = false
 | |
|                 this.$dispatch(this.confirmAction)
 | |
|             }
 | |
|         }))
 | |
|     })
 | |
| </script>
 | |
| <div x-cloak x-show="open" x-transition.opacity class="fixed inset-0 bg-slate-900/75"></div>
 | |
| <div x-cloak x-show="open" x-transition class="fixed inset-0 z-50 flex pt-10">
 | |
|     <div @click.away="open = false" class="w-screen h-20 max-w-xl mx-auto bg-black rounded-lg">
 | |
|         <div class="flex flex-col items-center justify-center h-full">
 | |
|             <div class="pb-5 dark:text-white" x-text="message"></div>
 | |
|             <div>
 | |
|                 <x-forms.button x-on:click='confirmed()'>Confirm</x-forms.button>
 | |
|                 <x-forms.button x-on:click="open = false">Cancel</x-forms.button>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | 
