import React, { useEffect } from "react"; import Header from "./Header"; import useModuleStore, { useSubModuleStore, } from "../../../store/useModuleStore"; import { AnalysisIcon, MechanicsIcon, PropertiesIcon, SimulationIcon, } from "../../icons/SimulationIcons"; import { useToggleStore } from "../../../store/useUIToggleStore"; import Visualization from "./visualization/Visualization"; import Analysis from "./analysis/Analysis"; import Simulations from "./simulation/Simulations"; import useVersionHistoryStore, { useSaveVersion, useSelectedFloorItem, useToolMode, } from "../../../store/builder/store"; import { useSelectedEventData, useSelectedEventSphere, } from "../../../store/simulation/useSimulationStore"; import GlobalProperties from "./properties/GlobalProperties"; import AsstePropertiies from "./properties/AssetProperties"; import ZoneProperties from "./properties/ZoneProperties"; import EventProperties from "./properties/eventProperties/EventProperties"; import VersionHistory from "./versionHisory/VersionHistory"; import AisleProperties from "./properties/AisleProperties"; import WallProperties from "./properties/eventProperties/WallProperties"; const SideBarRight: React.FC = () => { const { activeModule } = useModuleStore(); const { toggleUIRight } = useToggleStore(); const { toolMode } = useToolMode(); const { subModule, setSubModule } = useSubModuleStore(); const { selectedFloorItem } = useSelectedFloorItem(); const { selectedEventData } = useSelectedEventData(); const { selectedEventSphere } = useSelectedEventSphere(); const { viewVersionHistory, setVersionHistory } = useVersionHistoryStore(); const { isVersionSaved } = useSaveVersion(); // Reset activeList whenever activeModule changes useEffect(() => { if (activeModule !== "simulation") setSubModule("properties"); if (activeModule === "simulation") setSubModule("simulations"); }, [activeModule, setSubModule]); useEffect(() => { if ( activeModule !== "mechanics" && selectedEventData && selectedEventSphere ) { setSubModule("mechanics"); } else if (!selectedEventData && !selectedEventSphere) { if (activeModule === "simulation") { setSubModule("simulations"); } } if (activeModule !== "simulation") { setSubModule("properties"); } }, [activeModule, selectedEventData, selectedEventSphere, setSubModule]); return (
{toggleUIRight && ( <> {!isVersionSaved && (
{activeModule !== "simulation" && ( )} {activeModule === "simulation" && ( <> )}
)} {viewVersionHistory && (
)} {/* process builder */} {!viewVersionHistory && subModule === "properties" && activeModule !== "visualization" && !selectedFloorItem && (
{(() => { if (toolMode === "Aisle") { return ; } else if (toolMode === "Wall") { return ; } else { return ; } })()}
)} {!viewVersionHistory && subModule === "properties" && activeModule !== "visualization" && selectedFloorItem && (
)} {!viewVersionHistory && subModule === "zoneProperties" && (activeModule === "builder" || activeModule === "simulation") && (
)} {/* simulation */} {!isVersionSaved && !viewVersionHistory && activeModule === "simulation" && ( <> {subModule === "simulations" && (
)} {subModule === "mechanics" && (
)} {subModule === "analysis" && (
)} )} {/* realtime visualization */} {activeModule === "visualization" && } )}
); }; export default SideBarRight;