Initial commit

This commit is contained in:
Samandar Turgunboyev
2025-08-26 16:26:59 +05:00
commit fd95422447
318 changed files with 38301 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
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<ModalState>((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 }),
}));