24 lines
602 B
TypeScript
24 lines
602 B
TypeScript
import { createStore } from "zustand/vanilla";
|
|
import type { MenuItem } from "@common/components/api";
|
|
|
|
export type MenuState = {
|
|
currentMenuInfo: MenuItem | null;
|
|
};
|
|
|
|
export type MenuActions = {
|
|
setCurrentMenuInfo: (menu: MenuItem) => void;
|
|
};
|
|
|
|
export type MenuStore = MenuState & MenuActions;
|
|
|
|
export const defaultInitState: MenuState = {
|
|
currentMenuInfo: null,
|
|
};
|
|
|
|
export const createMenuStore = (initState: MenuState = defaultInitState) => {
|
|
return createStore<MenuStore>()((set) => ({
|
|
...initState,
|
|
setCurrentMenuInfo: (menu: MenuItem) => set({ currentMenuInfo: menu }),
|
|
}));
|
|
};
|