@@ -3,6 +3,7 @@ import type { Edge } from 'reactflow'
33import { useSession } from '@/lib/auth-client'
44import { createLogger } from '@/lib/logs/console/logger'
55import { getBlockOutputs } from '@/lib/workflows/block-outputs'
6+ import { TriggerUtils } from '@/lib/workflows/triggers'
67import { getBlock } from '@/blocks'
78import { useSocket } from '@/contexts/socket-context'
89import { useUndoRedo } from '@/hooks/use-undo-redo'
@@ -972,20 +973,17 @@ export function useCollaborativeWorkflow() {
972973 const newTriggerMode = ! currentBlock . triggerMode
973974
974975 // When enabling trigger mode, check if block is inside a subflow
975- if ( newTriggerMode && currentBlock . data ?. parentId ) {
976- const parent = workflowStore . blocks [ currentBlock . data . parentId ]
977- if ( parent && ( parent . type === 'loop' || parent . type === 'parallel' ) ) {
978- // Dispatch custom event to show warning modal
979- window . dispatchEvent (
980- new CustomEvent ( 'show-trigger-warning' , {
981- detail : {
982- type : 'trigger_in_subflow' ,
983- triggerName : 'trigger' ,
984- } ,
985- } )
986- )
987- return
988- }
976+ if ( newTriggerMode && TriggerUtils . isBlockInSubflow ( id , workflowStore . blocks ) ) {
977+ // Dispatch custom event to show warning modal
978+ window . dispatchEvent (
979+ new CustomEvent ( 'show-trigger-warning' , {
980+ detail : {
981+ type : 'trigger_in_subflow' ,
982+ triggerName : 'trigger' ,
983+ } ,
984+ } )
985+ )
986+ return
989987 }
990988
991989 executeQueuedOperation (
0 commit comments