Files
ncd-fe/packages/pl-fe/src/stores/ui.ts
nicole mikołajczyk 9f98b5b07d nicolium: oxlint and oxfmt migration, remove eslint
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-15 13:30:55 +01:00

38 lines
989 B
TypeScript

import { create } from 'zustand';
type State = {
isDropdownMenuOpen: boolean;
isSidebarOpen: boolean;
actions: {
openDropdownMenu: () => void;
closeDropdownMenu: () => void;
openSidebar: () => void;
closeSidebar: () => void;
};
};
const useUiStore = create<State>((set) => ({
isDropdownMenuOpen: false,
isSidebarOpen: false,
actions: {
openDropdownMenu: () => {
set({ isDropdownMenuOpen: true });
},
closeDropdownMenu: () => {
set({ isDropdownMenuOpen: false });
},
openSidebar: () => {
set({ isSidebarOpen: true });
},
closeSidebar: () => {
set({ isSidebarOpen: false });
},
},
}));
const useIsDropdownMenuOpen = () => useUiStore((state) => state.isDropdownMenuOpen);
const useIsSidebarOpen = () => useUiStore((state) => state.isSidebarOpen);
const useUiStoreActions = () => useUiStore((state) => state.actions);
export { useUiStore, useUiStoreActions, useIsDropdownMenuOpen, useIsSidebarOpen };