- {/* {activeModule === "builder" && ( */}
-
setSubModule("properties")}
- >
-
-
- {/* )} */}
- {activeModule === "simulation" && (
- <>
-
setSubModule("mechanics")}
- >
-
-
-
setSubModule("simulations")}
- >
-
-
-
setSubModule("analysis")}
- >
-
-
- >
- )}
+ // Reset activeList whenever activeModule changes
+ useEffect(() => {
+ if (activeModule !== "simulation") setSubModule("properties");
+ if (activeModule === "simulation") setSubModule("simulations");
+ }, [activeModule]);
+
+ useEffect(() => {
+ if (activeModule !== "mechanics" && selectedEventData && selectedEventSphere) {
+ setSubModule("mechanics");
+ } else {
+ if (activeModule === 'simulation') {
+ setSubModule("simulations");
+ }
+ };
+ }, [activeModule, selectedEventData, selectedEventSphere])
+
+ return (
+
+
+ {toggleUI && (
+
+
setSubModule("properties")}
+ >
+
+
+ {activeModule === "simulation" && (
+ <>
+
setSubModule("mechanics")}
+ >
+
+
+
setSubModule("simulations")}
+ >
+
+
+
setSubModule("analysis")}
+ >
+
+
+ >
+ )}
+
+ )}
+ {/* process builder */}
+ {toggleUI &&
+ subModule === "properties" &&
+ activeModule !== "visualization" &&
+ !selectedFloorItem && (
+
+ )}
+ {toggleUI &&
+ subModule === "properties" &&
+ activeModule !== "visualization" &&
+ selectedFloorItem && (
+
+ )}
+ {toggleUI &&
+ subModule === "zoneProperties" &&
+ (activeModule === "builder" || activeModule === "simulation") && (
+
+ )}
+ {/* simulation */}
+ {toggleUI && activeModule === "simulation" && (
+ <>
+ {subModule === "simulations" && (
+
+ )}
+ {subModule === "mechanics" && selectedEventData && selectedEventSphere && (
+
+ )}
+ {subModule === "analysis" && (
+
+ )}
+ >
+ )}
+ {/* realtime visualization */}
+ {toggleUI && activeModule === "visualization" &&
}
- )}
- {/* process builder */}
- {toggleUI &&
- subModule === "properties" &&
- activeModule !== "visualization" &&
- !selectedFloorItem && (
-
- )}
- {toggleUI &&
- subModule === "properties" &&
- activeModule !== "visualization" &&
- selectedFloorItem && (
-
- )}
- {toggleUI &&
- subModule === "zoneProperties" &&
- (activeModule === "builder" || activeModule === "simulation") && (
-
- )}
- {/* simulation */}
-
- {toggleUI && activeModule === "simulation" && (
- <>
- {subModule === "mechanics" && (
-
- )}
- {subModule === "analysis" && (
-
- )}
- {subModule === "simulations" && (
-
- )}
- >
- )}
-
- {/* realtime visualization */}
- {toggleUI && activeModule === "visualization" &&
}
-
- );
+ );
};
-export default SideBarRight;
+export default SideBarRight;
\ No newline at end of file
diff --git a/app/src/components/layout/sidebarRight/properties/eventProperties/EventProperties.tsx b/app/src/components/layout/sidebarRight/properties/eventProperties/EventProperties.tsx
new file mode 100644
index 0000000..6c44947
--- /dev/null
+++ b/app/src/components/layout/sidebarRight/properties/eventProperties/EventProperties.tsx
@@ -0,0 +1,279 @@
+import React, { useEffect, useRef, useState } from "react";
+import InputWithDropDown from "../../../../ui/inputs/InputWithDropDown";
+import LabledDropdown from "../../../../ui/inputs/LabledDropdown";
+import {
+ AddIcon,
+ RemoveIcon,
+ ResizeHeightIcon,
+} from "../../../../icons/ExportCommonIcons";
+import RenameInput from "../../../../ui/inputs/RenameInput";
+import { handleResize } from "../../../../../functions/handleResizePannel";
+import { handleActionToggle } from "./functions/handleActionToggle";
+import { handleDeleteAction } from "./functions/handleDeleteAction";
+import DefaultAction from "./actions/DefaultAction";
+import SpawnAction from "./actions/SpawnAction";
+import SwapAction from "./actions/SwapAction";
+import DespawnAction from "./actions/DespawnAction";
+import TravelAction from "./actions/TravelAction";
+import PickAndPlaceAction from "./actions/PickAndPlaceAction";
+import ProcessAction from "./actions/ProcessAction";
+import StorageAction from "./actions/StorageAction";
+import Trigger from "./trigger/Trigger";
+
+import { useSelectedEventData, useSelectedProduct } from "../../../../../store/simulation/useSimulationStore";
+import { useProductStore } from "../../../../../store/simulation/useProductStore";
+
+const EventProperties: React.FC = () => {
+ const actionsContainerRef = useRef