update action logic

This commit is contained in:
Robert 2024-03-09 06:13:11 +07:00
parent a51c43c500
commit 1e2c7c2965
No known key found for this signature in database
GPG Key ID: F631C7FD957D5F22

View File

@ -12,6 +12,7 @@ interface ChainState {
updateChain: (chain: Chain) => void;
deleteChain: (id: string) => void;
addCommentAction: (chainId: string, action: Action) => void;
updateAction: (chainId: string, actionIndex: number, action: Action) => void;
}
export const useChainState = create<ChainState>((set, get) => ({
@ -88,4 +89,22 @@ export const useChainState = create<ChainState>((set, get) => ({
chains[chainIndex].actions = actions;
return state;
}),
updateAction: (chainId, actionIndex, action) =>
set((state) => {
const chains = state.chains;
if (!chains) return state;
const chain = state.getChain(chainId);
if (
!chain ||
typeof chain.actions === "undefined" ||
!chain.actions[actionIndex]
)
return state;
chain.actions[actionIndex] = action;
return state;
}),
}));