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 (