Files
OpenFlare/openflare_server/web/store/app-shell.ts
T
2026-05-30 13:15:20 +08:00

21 lines
634 B
TypeScript

import { create } from 'zustand';
interface AppShellState {
isSidebarCollapsed: boolean;
isMobileSidebarOpen: boolean;
toggleSidebar: () => void;
setSidebarCollapsed: (value: boolean) => void;
setMobileSidebarOpen: (value: boolean) => void;
}
export const useAppShellStore = create<AppShellState>((set) => ({
isSidebarCollapsed: false,
isMobileSidebarOpen: false,
toggleSidebar: () =>
set((state) => ({
isSidebarCollapsed: !state.isSidebarCollapsed,
})),
setSidebarCollapsed: (value) => set({ isSidebarCollapsed: value }),
setMobileSidebarOpen: (value) => set({ isMobileSidebarOpen: value }),
}));