diff --git a/frontend/src/components/TrainingUnitSectionsEditor.jsx b/frontend/src/components/TrainingUnitSectionsEditor.jsx index e7fa968..99b4807 100644 --- a/frontend/src/components/TrainingUnitSectionsEditor.jsx +++ b/frontend/src/components/TrainingUnitSectionsEditor.jsx @@ -928,9 +928,23 @@ export default function TrainingUnitSectionsEditor({ } } + let crossesParallelWholePlanBoundary = false if ( enableParallelPhaseControls && - (insertBeforeIdx === fromSi || insertBeforeIdx === fromSi + 1) + insertBeforeIdx >= 0 && + insertBeforeIdx < list.length + ) { + const fromK = list[fromSi]?.planLoc?.phaseKind + const toK = list[insertBeforeIdx]?.planLoc?.phaseKind + crossesParallelWholePlanBoundary = + (fromK === 'parallel' && toK === 'whole_group') || + (fromK === 'whole_group' && toK === 'parallel') + } + + if ( + enableParallelPhaseControls && + (insertBeforeIdx === fromSi || insertBeforeIdx === fromSi + 1) && + !crossesParallelWholePlanBoundary ) { return }