diff --git a/app/src/hooks/temp.md b/app/src/hooks/temp.md
deleted file mode 100644
index e69de29..0000000
diff --git a/app/src/hooks/useResetStates.ts b/app/src/hooks/useResetStates.ts
new file mode 100644
index 0000000..87bef11
--- /dev/null
+++ b/app/src/hooks/useResetStates.ts
@@ -0,0 +1,26 @@
+import { useVersionContext } from "../modules/builder/version/versionContext";
+import { useSceneContext } from "../modules/scene/sceneContext";
+import { useProductContext } from "../modules/simulation/products/productContext";
+import { useVersionHistoryStore } from "../store/builder/useVersionHistoryStore";
+
+const useRestStates = () => {
+ const { selectedVersionStore } = useVersionContext();
+ const { clearSelectedVersion } = selectedVersionStore();
+ const { selectedProductStore } = useProductContext();
+ const { clearSelectedProduct } = selectedProductStore();
+ const { clearVersions } = useVersionHistoryStore();
+ const { clearStores } = useSceneContext();
+
+ const resetStates = () => {
+ clearSelectedVersion();
+ clearSelectedProduct();
+ clearVersions();
+ clearStores();
+ };
+
+ return {
+ resetStates,
+ };
+};
+
+export default useRestStates;
\ No newline at end of file
diff --git a/app/src/modules/scene/sceneContext.tsx b/app/src/modules/scene/sceneContext.tsx
index 8d742ed..a339ddf 100644
--- a/app/src/modules/scene/sceneContext.tsx
+++ b/app/src/modules/scene/sceneContext.tsx
@@ -28,6 +28,8 @@ type SceneContextValue = {
vehicleStore: VehicleStoreType;
storageUnitStore: StorageUnitStoreType;
+ clearStores: () => void;
+
layout: 'Main Layout' | 'Comparison Layout';
};
@@ -55,8 +57,17 @@ export function SceneProvider({
const storageUnitStore = useMemo(() => createStorageUnitStore(), []);
const clearStores = useMemo(() => () => {
- assetStore().clearAssets();
- }, [assetStore]);
+ assetStore.getState().clearAssets();
+ aisleStore.getState().clearAisles();
+ eventStore.getState().clearEvents();
+ productStore.getState().clearProducts();
+ materialStore.getState().clearMaterials();
+ armBotStore.getState().clearArmBots();
+ machineStore.getState().clearMachines();
+ conveyorStore.getState().clearConveyors();
+ vehicleStore.getState().clearVehicles();
+ storageUnitStore.getState().clearStorageUnits();
+ }, [assetStore, aisleStore, eventStore, productStore, materialStore, armBotStore, machineStore, conveyorStore, vehicleStore, storageUnitStore]);
const contextValue = useMemo(() => (
{
diff --git a/app/src/store/builder/useAisleStore.ts b/app/src/store/builder/useAisleStore.ts
index 35c79df..4e9e6ad 100644
--- a/app/src/store/builder/useAisleStore.ts
+++ b/app/src/store/builder/useAisleStore.ts
@@ -8,6 +8,7 @@ interface AisleStore {
updateAisle: (uuid: string, updated: Partial
) => void;
removeAisle: (uuid: string) => void;
removePoint: (uuid: string) => Aisles;
+ clearAisles: () => void;
setPosition: (
pointUuid: string,
position: [number, number, number]
@@ -92,6 +93,12 @@ export const createAisleStore = () => {
return removedAisles;
},
+ clearAisles: () => {
+ set((state) => {
+ state.aisles = [];
+ })
+ },
+
setPosition: (pointUuid, position) => {
let updatedAisle: Aisle | undefined;
set((state) => {