import React, { useEffect, useState } from "react"; import { useSelectedEventData, useSelectedProduct, } from "../../../../../store/simulation/useSimulationStore"; import { useProductStore } from "../../../../../store/simulation/useProductStore"; import ConveyorMechanics from "./mechanics/conveyorMechanics"; import VehicleMechanics from "./mechanics/vehicleMechanics"; import RoboticArmMechanics from "./mechanics/roboticArmMechanics"; import MachineMechanics from "./mechanics/machineMechanics"; import StorageMechanics from "./mechanics/storageMechanics"; const EventProperties: React.FC = () => { const { selectedEventData } = useSelectedEventData(); const { getEventByModelUuid } = useProductStore(); const { selectedProduct } = useSelectedProduct(); const [currentEventData, setCurrentEventData] = useState( null ); const [assetType, setAssetType] = useState(null); useEffect(() => { const event = getCurrentEventData(); setCurrentEventData(event); const type = determineAssetType(event); setAssetType(type); }, [selectedEventData, selectedProduct]); const getCurrentEventData = () => { if (!selectedEventData?.data || !selectedProduct) return null; return ( getEventByModelUuid( selectedProduct.productId, selectedEventData.data.modelUuid ) ?? null ); }; const determineAssetType = (event: EventsSchema | null) => { if (!event) return null; switch (event.type) { case "transfer": return "conveyor"; case "vehicle": return "vehicle"; case "roboticArm": return "roboticArm"; case "machine": return "machine"; case "storageUnit": return "storageUnit"; default: return null; } }; return (
{currentEventData && ( <>
{selectedEventData?.data.modelName}
{assetType === "conveyor" && } {assetType === "vehicle" && } {assetType === "roboticArm" && } {assetType === "machine" && } {assetType === "storageUnit" && } )}
); }; export default EventProperties;