aboutsummaryrefslogtreecommitdiff
path: root/src/store/store.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/store.ts')
-rw-r--r--src/store/store.ts12
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 });
+ },
}));