feat: integrate Zustand for global state management and apply it to the sidebar

This commit is contained in:
Pablo Lara
2024-09-02 14:12:42 +02:00
parent 2d07186eb1
commit d8ae2bf455
2 changed files with 23 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
export * from "./ui/ui-store";
+22
View File
@@ -0,0 +1,22 @@
import { create } from "zustand";
import { persist } from "zustand/middleware";
interface SidebarStoreState {
isSideMenuOpen: boolean;
openSideMenu: () => void;
closeSideMenu: () => void;
}
export const useUIStore = create<SidebarStoreState>()(
persist(
(set) => ({
isSideMenuOpen: true,
openSideMenu: () => set({ isSideMenuOpen: true }),
closeSideMenu: () => set({ isSideMenuOpen: false }),
}),
{
name: "sidebar-store",
},
),
);