import { create } from 'zustand'; interface ModalState { isVisible: boolean; title: string; message: string; type: 'success' | 'error' | 'info'; onConfirm: () => void; onCancel?: () => void; openModal: ( title: string, message: string, type?: 'success' | 'error' | 'info', onConfirm?: () => void, onCancel?: () => void ) => void; closeModal: () => void; } export const useModalStore = create((set) => ({ isVisible: false, title: '', message: '', type: 'info', onConfirm: () => { }, onCancel: undefined, openModal: (title, message, type = 'info', onConfirm, onCancel) => set({ isVisible: true, title, message, type, onConfirm: () => { if (onConfirm) onConfirm(); set({ isVisible: false }); }, onCancel: onCancel || undefined, }), closeModal: () => set({ isVisible: false }), }));