import { create } from 'zustand' import { subscribeWithSelector } from 'zustand/middleware' export type EntryNodeStatus = 'enabled' | 'disabled' type TriggerStatusState = { // Map of nodeId to trigger status triggerStatuses: Record // Actions setTriggerStatus: (nodeId: string, status: EntryNodeStatus) => void setTriggerStatuses: (statuses: Record) => void getTriggerStatus: (nodeId: string) => EntryNodeStatus clearTriggerStatuses: () => void } export const useTriggerStatusStore = create()( subscribeWithSelector((set, get) => ({ triggerStatuses: {}, setTriggerStatus: (nodeId: string, status: EntryNodeStatus) => { set(state => ({ triggerStatuses: { ...state.triggerStatuses, [nodeId]: status, }, })) }, setTriggerStatuses: (statuses: Record) => { set({ triggerStatuses: statuses }) }, getTriggerStatus: (nodeId: string): EntryNodeStatus => { return get().triggerStatuses[nodeId] || 'disabled' }, clearTriggerStatuses: () => { set({ triggerStatuses: {} }) }, })), )