diff --git a/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx b/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx
index eb898e41..ed4af6c0 100644
--- a/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx
+++ b/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx
@@ -542,50 +542,9 @@ const OnboardingWizardContent: React.FC = () => {
onUpdate={handleStepUpdate}
isFirstStep={currentStepIndex === 0}
isLastStep={currentStepIndex === VISIBLE_STEPS.length - 1}
+ canContinue={canContinue}
/>
-
- {/* Navigation Footer - Only for setup wizard steps that don't render their own buttons */}
- {['suppliers-setup', 'inventory-setup', 'recipes-setup', 'quality-setup', 'team-setup', 'setup-review'].includes(currentStep.id) && (
-
-
- {/* Left side - Back button */}
-
- {currentStepIndex > 0 && (
-
- )}
-
-
- {/* Right side - Continue button */}
-
-
-
-
-
- )}
);
diff --git a/frontend/src/components/domain/setup-wizard/steps/InventorySetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/InventorySetupStep.tsx
index def9e5b6..d2d788d8 100644
--- a/frontend/src/components/domain/setup-wizard/steps/InventorySetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/InventorySetupStep.tsx
@@ -8,7 +8,7 @@ import { UnitOfMeasure, IngredientCategory } from '../../../../api/types/invento
import type { IngredientCreate, IngredientUpdate } from '../../../../api/types/inventory';
import { ESSENTIAL_INGREDIENTS, COMMON_INGREDIENTS, PACKAGING_ITEMS, type IngredientTemplate, templateToIngredientCreate } from '../data/ingredientTemplates';
-export const InventorySetupStep: React.FC = ({ onUpdate }) => {
+export const InventorySetupStep: React.FC = ({ onUpdate, onComplete, canContinue }) => {
const { t } = useTranslation();
// Get tenant ID
@@ -669,6 +669,19 @@ export const InventorySetupStep: React.FC = ({ onUpdate }) => {
)}
+
+ {/* Continue button - only shown when used in onboarding context */}
+ {onComplete && (
+
+
+
+ )}
);
};
diff --git a/frontend/src/components/domain/setup-wizard/steps/QualitySetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/QualitySetupStep.tsx
index 04fc56d9..293ab343 100644
--- a/frontend/src/components/domain/setup-wizard/steps/QualitySetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/QualitySetupStep.tsx
@@ -7,7 +7,7 @@ import { useAuthUser } from '../../../../stores/auth.store';
import { QualityCheckType, ProcessStage } from '../../../../api/types/qualityTemplates';
import type { QualityCheckTemplateCreate } from '../../../../api/types/qualityTemplates';
-export const QualitySetupStep: React.FC = ({ onUpdate }) => {
+export const QualitySetupStep: React.FC = ({ onUpdate, onComplete, canContinue }) => {
const { t } = useTranslation();
// Get tenant ID and user
@@ -416,6 +416,19 @@ export const QualitySetupStep: React.FC = ({ onUpdate }) => {
)}
+
+ {/* Continue button - only shown when used in onboarding context */}
+ {onComplete && (
+
+
+
+ )}
);
};
diff --git a/frontend/src/components/domain/setup-wizard/steps/RecipesSetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/RecipesSetupStep.tsx
index c0a5c1ab..74f99621 100644
--- a/frontend/src/components/domain/setup-wizard/steps/RecipesSetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/RecipesSetupStep.tsx
@@ -17,7 +17,7 @@ interface RecipeIngredientForm {
ingredient_order: number;
}
-export const RecipesSetupStep: React.FC = ({ onUpdate, onComplete }) => {
+export const RecipesSetupStep: React.FC = ({ onUpdate, onComplete, canContinue }) => {
const { t } = useTranslation();
// Get tenant ID
@@ -793,6 +793,19 @@ export const RecipesSetupStep: React.FC = ({ onUpdate, onComplet
tenantId={tenantId}
context="recipe"
/>
+
+ {/* Continue button - only shown when used in onboarding context */}
+ {onComplete && (
+
+
+
+ )}
);
};
diff --git a/frontend/src/components/domain/setup-wizard/steps/ReviewSetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/ReviewSetupStep.tsx
index 2ea3fa6f..55672265 100644
--- a/frontend/src/components/domain/setup-wizard/steps/ReviewSetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/ReviewSetupStep.tsx
@@ -8,7 +8,7 @@ import { useQualityTemplates } from '../../../../api/hooks/qualityTemplates';
import { useCurrentTenant } from '../../../../stores/tenant.store';
import { useAuthUser } from '../../../../stores/auth.store';
-export const ReviewSetupStep: React.FC = ({ onUpdate }) => {
+export const ReviewSetupStep: React.FC = ({ onUpdate, onComplete, canContinue }) => {
const { t } = useTranslation();
// Get tenant ID
@@ -306,6 +306,19 @@ export const ReviewSetupStep: React.FC = ({ onUpdate }) => {
>
)}
+
+ {/* Continue button - only shown when used in onboarding context */}
+ {onComplete && (
+
+
+
+ )}
);
};
diff --git a/frontend/src/components/domain/setup-wizard/steps/SuppliersSetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/SuppliersSetupStep.tsx
index 98ea13a4..c9c18f33 100644
--- a/frontend/src/components/domain/setup-wizard/steps/SuppliersSetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/SuppliersSetupStep.tsx
@@ -14,6 +14,7 @@ export const SuppliersSetupStep: React.FC = ({
onComplete,
onSkip,
onUpdate,
+ canContinue,
isFirstStep,
isLastStep
}) => {
@@ -471,12 +472,11 @@ export const SuppliersSetupStep: React.FC = ({
)}
diff --git a/frontend/src/components/domain/setup-wizard/steps/TeamSetupStep.tsx b/frontend/src/components/domain/setup-wizard/steps/TeamSetupStep.tsx
index 50208d3a..b61431c3 100644
--- a/frontend/src/components/domain/setup-wizard/steps/TeamSetupStep.tsx
+++ b/frontend/src/components/domain/setup-wizard/steps/TeamSetupStep.tsx
@@ -9,7 +9,7 @@ interface TeamMember {
role: string;
}
-export const TeamSetupStep: React.FC = ({ onUpdate }) => {
+export const TeamSetupStep: React.FC = ({ onUpdate, onComplete, canContinue }) => {
const { t } = useTranslation();
// Local state for team members (will be sent to backend when API is available)
@@ -310,6 +310,19 @@ export const TeamSetupStep: React.FC = ({ onUpdate }) => {
)}
+
+ {/* Continue button - only shown when used in onboarding context */}
+ {onComplete && (
+
+
+
+ )}
);
};