multica/apps/web/features/modals/store.ts
2026-04-01 22:24:35 +08:00

19 lines
504 B
TypeScript

"use client";
import { create } from "zustand";
type ModalType = "create-workspace" | "create-issue" | null;
interface ModalStore {
modal: ModalType;
data: Record<string, unknown> | null;
open: (modal: NonNullable<ModalType>, data?: Record<string, unknown> | null) => void;
close: () => void;
}
export const useModalStore = create<ModalStore>((set) => ({
modal: null,
data: null,
open: (modal, data = null) => set({ modal, data }),
close: () => set({ modal: null, data: null }),
}));