Enhance Machine and Vehicle components: add current action management and update machine sample structure

This commit is contained in:
2025-05-02 12:11:09 +05:30
parent 405dbe434f
commit 34c30bb5a2
4 changed files with 78 additions and 20 deletions

View File

@@ -12,6 +12,9 @@ interface MachineStore {
updates: Partial<Omit<MachineStatus, 'modelUuid' | 'productId'>>
) => void;
addCurrentAction: (modelUuid: string, actionUuid: string) => void;
removeCurrentAction: (modelUuid: string) => void;
// Status updates
setMachineActive: (modelUuid: string, isActive: boolean) => void;
setMachineState: (modelUuid: string, newState: MachineStatus['state']) => void;
@@ -61,6 +64,31 @@ export const useMachineStore = create<MachineStore>()(
});
},
addCurrentAction: (modelUuid) => {
set((state) => {
const armBot = state.machines.find(a => a.modelUuid === modelUuid);
if (armBot) {
const action = armBot.point.action;
if (action) {
armBot.currentAction = {
actionUuid: action.actionUuid,
actionName: action.actionName,
};
}
}
});
},
removeCurrentAction: (modelUuid) => {
set((state) => {
const armBot = state.machines.find(a => a.modelUuid === modelUuid);
if (armBot) {
armBot.currentAction = undefined;
}
});
},
// Status updates
setMachineActive: (modelUuid, isActive) => {
set((state) => {