This commit implements two optional steps that allow users to configure
advanced features during the bakery setup process. Both steps can be
skipped without blocking wizard completion.
## Implemented Steps
### 1. Quality Setup Step (QualitySetupStep.tsx)
- Quality check template creation with full API integration
- 6 check types: Visual, Measurement, Temperature, Weight, Timing, Checklist
- Multi-select applicable stages (mixing, proofing, shaping, baking, etc.)
- Optional description field
- Required/Critical flags with visual indicators
- Minimum requirement: 2 quality checks (skippable)
- Grid-based type and stage selection with icons
- Integration with useQualityTemplates and useCreateQualityTemplate hooks
### 2. Team Setup Step (TeamSetupStep.tsx)
- Team member collection form (local state management)
- Required fields: Name, Email
- Role selection: Admin, Manager, Baker, Cashier
- Grid-based role selection with icons and descriptions
- Email validation and duplicate prevention
- Team member list with avatar icons
- Remove functionality
- Fully optional (always canContinue = true)
- Info note about future invitation emails
- Skip messaging for solo operators
## Key Features
### Quality Setup Step:
- ✅ Full backend integration with quality templates API
- ✅ Visual icon-based check type selection
- ✅ Multi-select stage chips (toggle on/off)
- ✅ Required/Critical badges on template list
- ✅ Form validation (name, at least one stage)
- ✅ Optional badge prominently displayed
- ✅ Progress tracking with "Need X more" messaging
### Team Setup Step:
- ✅ Local state management (ready for future API)
- ✅ Email validation with duplicate checking
- ✅ Visual role cards with icons and descriptions
- ✅ Team member list with role badges and avatars
- ✅ Remove button for each member
- ✅ Info note about invitation emails
- ✅ Skip messaging for working alone
- ✅ Always allows continuation (truly optional)
## Shared Features Across Both Steps:
- ✅ "Optional" badge with explanatory text
- ✅ "Why This Matters" information section
- ✅ Inline forms (not modals)
- ✅ Real-time validation with error messages
- ✅ Parent notification via onUpdate callback
- ✅ Responsive mobile-first design
- ✅ i18n support with translation keys
- ✅ Loading states
- ✅ Consistent UI patterns with Phase 2 steps
## Technical Implementation
### Quality Setup:
- Integration with qualityTemplateService
- useQualityTemplates hook for fetching templates
- useCreateQualityTemplate mutation hook
- ProcessStage and QualityCheckType enums from API types
- User ID from auth store for created_by field
- Template list with badge indicators
### Team Setup:
- Local TeamMember interface
- useState for team members array
- Email regex validation
- Duplicate email detection
- Role options with metadata (icon, label, description)
- Ready for future team invitation API integration
## Files Modified:
- frontend/src/components/domain/setup-wizard/steps/QualitySetupStep.tsx (406 lines)
- frontend/src/components/domain/setup-wizard/steps/TeamSetupStep.tsx (316 lines)
Total: **722 lines of new functional code**
## Related:
- Builds on Phase 1 (foundation) and Phase 2 (core steps)
- Integrates with quality templates service
- Prepared for future team invitation service
- Follows design specification in docs/wizard-flow-specification.md
- Addresses JTBD findings about quality and team management
## Next Steps (Phase 4+):
- Smart features (auto-suggestions, smart defaults)
- Polish & animations
- Comprehensive testing
- Template systems enhancement
- Bulk import functionality