import React, { useEffect, useRef, 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;