gonets/FRONT/BUILD/resources/app/src/store/menusStore.ts
2025-06-19 13:16:59 +05:00

28 lines
No EOL
792 B
TypeScript

import { create } from 'zustand';
import { persist, createJSONStorage } from 'zustand/middleware';
import { Menu } from '../const/types/types';
import { menusData } from '../const/menus/othersMenus/data';
interface MenuState {
menus: Menu[];
toggleMenu: (menuId: string) => void;
}
export const useMenuStore = create<MenuState>()(
persist(
(set) => ({
menus: menusData,
toggleMenu: (menuId) =>
set((state) => ({
menus: state.menus.map((menu) =>
menu.id === menuId ? { ...menu, isOpen: !menu.isOpen } : menu
),
})),
}),
{
name: 'menus-storage',
storage: createJSONStorage(() => localStorage)
}
)
);