diff --git a/apps/app/src/components/decisions/ProcessBuilder/ProcessBuilderSectionNav.tsx b/apps/app/src/components/decisions/ProcessBuilder/ProcessBuilderSectionNav.tsx index 6b5a0166f..07c5479f2 100644 --- a/apps/app/src/components/decisions/ProcessBuilder/ProcessBuilderSectionNav.tsx +++ b/apps/app/src/components/decisions/ProcessBuilder/ProcessBuilderSectionNav.tsx @@ -1,57 +1,46 @@ 'use client'; -import { Key } from '@op/ui/RAC'; -import { Tab, TabList, Tabs } from '@op/ui/Tabs'; - import { useTranslations } from '@/lib/i18n'; +import { SidebarNavItems } from './components/SidebarNavItems'; import { useNavigationConfig } from './useNavigationConfig'; +import { usePhaseValidation } from './usePhaseValidation'; import { useProcessNavigation } from './useProcessNavigation'; +import { useProcessPhases } from './useProcessPhases'; +import { useProcessBuilderValidation } from './validation/useProcessBuilderValidation'; export const ProcessBuilderSidebar = ({ instanceId, + decisionProfileId, }: { instanceId: string; + decisionProfileId?: string; }) => { const t = useTranslations(); const navigationConfig = useNavigationConfig(instanceId); - const { visibleSections, currentSection, currentStep, setSection } = - useProcessNavigation(navigationConfig); - - const handleSelectionChange = (key: Key) => { - setSection(String(key)); - }; + const { sections: validationSections } = + useProcessBuilderValidation(decisionProfileId); + const phases = useProcessPhases(instanceId, decisionProfileId); + const phaseValidation = usePhaseValidation(instanceId, decisionProfileId); - // Don't render sidebar for single-section steps - // These steps manage their own layout (e.g., template step with form builder) - if (visibleSections.length <= 1) { - return null; - } + const { visibleSections, currentSection, setSection } = useProcessNavigation( + navigationConfig, + phases, + ); return ( -