BUG: Suppliers-setup and ml-training steps were not appearing during onboarding,
even though users completed initial-stock-entry and smart-inventory-setup steps.
ROOT CAUSE:
VISIBLE_STEPS was calculated only once at component mount, not recalculated
when wizard context state changed. When flags like stockEntryCompleted or
aiAnalysisComplete became true, the conditional steps didn't appear because
VISIBLE_STEPS array remained static.
FIXES:
1. Added useMemo import to React imports
2. Converted VISIBLE_STEPS from const to useMemo with dependencies on:
- wizardContext.state
- wizardContext.tenantId
3. Removed obsolete useEffect that tried to handle step recalculation manually
4. Added console logging for debugging visible steps and wizard state
FLOW NOW WORKS:
- User completes smart-inventory-setup → aiAnalysisComplete = true
→ ml-training step becomes visible
- User completes initial-stock-entry → stockEntryCompleted = true
→ suppliers-setup step becomes visible
TESTING:
- Build succeeds with no errors
- Console logs will show when VISIBLE_STEPS recalculates
- Wizard state flags logged for debugging
Files Modified:
- frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx