diff options
Diffstat (limited to 'src/store/store.ts')
| -rw-r--r-- | src/store/store.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/store/store.ts b/src/store/store.ts index 94519e4..e5fce0e 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -47,6 +47,7 @@ export interface StoreState { cameraView: CameraView; backdropUrl: string | null; availableModels: AvailableModel[]; + sidebarOpen: boolean; addModel: (sourceId: string, position: Vector3D) => void; removeModel: (id: string) => void; selectModel: (id: string | null) => void; @@ -56,6 +57,8 @@ export interface StoreState { ) => void; setCameraView: (view: CameraView) => void; setBackdrop: (url: string | null) => void; + toggleSidebar: () => void; + closeSidebar: () => void; } export const useStore = create<StoreState>((set, get) => ({ @@ -64,6 +67,7 @@ export const useStore = create<StoreState>((set, get) => ({ cameraView: "perspective", backdropUrl: null, availableModels, + sidebarOpen: false, addModel: (sourceId: string, position: Vector3D) => { const { availableModels } = get(); @@ -116,4 +120,12 @@ export const useStore = create<StoreState>((set, get) => ({ setBackdrop: (url: string | null) => { set({ backdropUrl: url }); }, + + toggleSidebar: () => { + set((state) => ({ sidebarOpen: !state.sidebarOpen })); + }, + + closeSidebar: () => { + set({ sidebarOpen: false }); + }, })); |