import { useEffect } from "react";
import RoboticArmInstances from "./instances/roboticArmInstances";
import { useArmBotStore } from "../../../store/simulation/useArmBotStore";

function RoboticArm() {
    const { armBots, addArmBot, removeArmBot, addCurrentAction } = useArmBotStore();

    const armBotStatusSample: RoboticArmEventSchema[] = [
        {
            state: "idle",
            modelUuid: "armbot-xyz-001",
            modelName: "ArmBot-X200",
            position: [0, 0, 0],
            rotation: [91.94347308985614, 0, 6.742905194869091],
            type: "roboticArm",
            speed: 1.5,
            point: {
                uuid: "point-123",
                position: [0, 1.5, 0],
                rotation: [0, 0, 0],
                actions: [
                    {
                        actionUuid: "action-001",
                        actionName: "Pick Component",
                        actionType: "pickAndPlace",
                        process: {
                            startPoint: [1.2, 0.3, 0.5],
                            endPoint: [-0.8, 1.1, 0.7],
                        },
                        triggers: [
                            {
                                triggerUuid: "trigger-001",
                                triggerName: "Start Trigger",
                                triggerType: "onStart",
                                delay: 0,
                                triggeredAsset: {
                                    triggeredModel: {
                                        modelName: "Conveyor A1",
                                        modelUuid: "conveyor-01",
                                    },
                                    triggeredPoint: {
                                        pointName: "Start Point",
                                        pointUuid: "conveyor-01-point-001",
                                    },
                                    triggeredAction: {
                                        actionName: "Move Forward",
                                        actionUuid: "conveyor-action-01",
                                    },
                                },
                            },
                            {
                                triggerUuid: "trigger-002",
                                triggerName: "Complete Trigger",
                                triggerType: "onComplete",
                                delay: 0,
                                triggeredAsset: {
                                    triggeredModel: {
                                        modelName: "StaticMachine B2",
                                        modelUuid: "machine-02",
                                    },
                                    triggeredPoint: {
                                        pointName: "Receive Point",
                                        pointUuid: "machine-02-point-001",
                                    },
                                    triggeredAction: {
                                        actionName: "Process Part",
                                        actionUuid: "machine-action-01",
                                    },
                                },
                            },
                        ],
                    },
                ],
            },
        },
    ];

    useEffect(() => {
        removeArmBot(armBotStatusSample[0].modelUuid);
        addArmBot('123', armBotStatusSample[0]);
        // addCurrentAction('armbot-xyz-001', 'action-001');
    }, []);


    useEffect(() => {
        // console.log('armBots: ', armBots);
    }, [armBots]);

    return (
        <>

            <RoboticArmInstances />

        </>
    );
}

export default RoboticArm;
