diff --git a/src/App.tsx b/src/App.tsx index 6dc4e53..8aab53f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,6 +8,7 @@ import { StepIndicator } from './components/wizard/StepIndicator'; import { BackendSelectionStep } from './components/wizard/BackendSelectionStep'; import { RemoteConfigStep } from './components/wizard/RemoteConfigStep'; import { DeploymentStep } from './components/wizard/DeploymentStep'; +import { ReviewStep } from './components/wizard/ReviewStep'; function WizardShell() { const { state } = useWizard(); @@ -17,9 +18,10 @@ function WizardShell() { // Key on backendType to force remount when backend changes — prevents stale form values , , + , ]; - // Guard: clamp to valid range (phase 4 will add step 3 for review/download) + // Guard: clamp to valid range const stepIndex = Math.min(state.currentStep, steps.length - 1); const CurrentStep = steps[stepIndex]; diff --git a/src/components/wizard/StepIndicator.tsx b/src/components/wizard/StepIndicator.tsx index bb7ba1d..c5a3780 100644 --- a/src/components/wizard/StepIndicator.tsx +++ b/src/components/wizard/StepIndicator.tsx @@ -1,11 +1,11 @@ // src/components/wizard/StepIndicator.tsx -// Breadcrumb navigation — 1.Backend > 2.Remote Config > 3.Deployment +// Breadcrumb navigation — 1.Backend > 2.Remote Config > 3.Deployment > 4.Review // Completed steps are clickable. Clicking step 0 also clears remote.params (SET_REMOTE_PARAMS({})). // CRITICAL: never dispatches RESET — deployment options must be preserved on back navigation. import { useWizard } from '../../store/context'; -const STEP_LABELS = ['Backend', 'Remote Config', 'Deployment']; +const STEP_LABELS = ['Backend', 'Remote Config', 'Deployment', 'Review']; export function StepIndicator() { const { state, dispatch } = useWizard();