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.
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
import { create } from 'zustand';
|
||||
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 }),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user