Files
zeavis-edu/apps/web/src/store/ui-store.ts
T
seriouselly a77a6c84ff fix(sidebar): persist sidebar state across page navigation
- Move `isSidebarOpen` state from local component (`useState`) to global Zustand store (`ui-store.ts`).
- Fix an issue where the sidebar would incorrectly reset to its default closed state when navigating between routes (e.g., to the Telemetry page) due to component remounting.
- Ensure consistent sidebar toggle behavior across the entire dashboard application.
2026-06-12 12:26:11 +07:00

19 lines
482 B
TypeScript

import { create } from "zustand";
type UiState = {
dashboardCompact: boolean;
toggleDashboardCompact: () => void;
isSidebarOpen: boolean;
setIsSidebarOpen: (isOpen: boolean) => void;
};
export const useUiStore = create<UiState>((set) => ({
dashboardCompact: false,
toggleDashboardCompact: () =>
set((state) => ({ dashboardCompact: !state.dashboardCompact })),
isSidebarOpen: false,
setIsSidebarOpen: (isOpen: boolean) => set({ isSidebarOpen: isOpen }),
}));