Branch: fix/app-refinements-sprint
Base: develop
- Issue: Settings navigation was broken and caused app crashes
- Fix:
- Refactored SettingsSheet to avoid nested NavigationStack
- Changed Settings presentation from sheet to navigationDestination
- Fixed NavigationPath comparisonTypeMismatch crash
- Restored all missing lifecycle code including selfMember prefill logic
- Test:
- Navigate to Settings from Home
- Verify all Settings screens work correctly
- Check that navigation back to Home works without crashes
- Verify selfMember information is pre-filled correctly
- Issue: Users were incorrectly redirected to "Get Started" after completing onboarding
- Fix:
- Prevented canvas reset to .heyThere when onboarding is already completed
- Fixed navigation logic to respect completed onboarding state
- Test:
- Complete onboarding flow
- Navigate to Profile/Recent Scans
- Navigate back - should NOT redirect to "Get Started"
- Verify onboarding completion state persists correctly
- Change: Replaced all gray buttons and GreenOutlinedCapsule with unified SecondaryButton
- Impact: Consistent button styling across the app
- Test:
- Check all secondary buttons throughout the app
- Verify button actions work correctly
- Check button text is properly displayed (no truncation)
- Verify buttons adapt to content length
- Change:
- Improved empty state layout (ZStack → VStack)
- Updated text from "No Scans !" to "No Scans Found!"
- Updated history-emptystate asset images
- Test:
- View Recent Scans when no scans exist
- Verify empty state displays correctly
- Check "Start Scanning" button works
- Verify layout looks good on different screen sizes
- New Steps Added:
- "Ready to Scan First Product" screen
- "See How Scanning Works" screen
- "Quick Access Needed" screen
- "Login to Continue" screen
- Test:
- Complete full onboarding flow
- Verify all new screens appear in correct order
- Check navigation between onboarding steps
- Verify permissions prompts work correctly
- Change: Refined onboarding sheets and permission toggle behavior
- Test:
- Test permission toggles in onboarding
- Verify sheets dismiss correctly
- Check permission states persist
- Change: Updated with new assets
- Test:
- Launch app and verify splash screen
- Check welcome screen displays correctly
- Verify animations work smoothly
- Change: Added fallback card to StackedCards component
- New Assets: Questionmark-bot and circle-cards
- Test:
- Verify fallback card appears when appropriate
- Check card progress tracking works
- Verify new assets display correctly
- Change:
- Extracted onboarding persistence into dedicated utility
- Improved conflict resolution between local and remote state
- Better separation of concerns
- Test:
- Complete onboarding on one device
- Verify state syncs correctly
- Test onboarding completion persists after app restart
- Check conflict resolution when local/remote states differ
- New Feature: Added ToastManager and ToastView components
- Types: Info, success, error, and warning toasts
- Test:
- Trigger various toast notifications throughout the app
- Verify toasts display correctly
- Check toast auto-dismiss works
- Verify toast positioning and styling
- Change:
- Added retry logic with exponential backoff
- Configured appropriate timeouts for API calls
- Improved error handling for network issues
- Test:
- Test with poor network conditions
- Verify retry logic works for failed requests
- Check timeout behavior for slow connections
- Verify error messages are user-friendly
- Change: Fully integrated stats API into Home Bento cards
- Test:
- Verify stats display correctly on Home screen
- Check AverageScansCard shows correct data
- Verify stats update when data changes
- Test with empty stats data
- Changes:
- Simplified family name field editing
- Improved scroll tracking in HomeView
- Enhanced FamilyStore with immediate action methods
- Better error handling for family operations
- Test:
- Edit family name in ManageFamilyView
- Verify scroll tracking works in HomeView
- Test family creation and member addition
- Verify error messages display correctly
- Changes:
- Improved EnterYourInviteCode: uppercase input, Start Over button
- Better invite code generation and sharing
- Enhanced loading states
- Test:
- Enter invite code (should auto-uppercase)
- Test "Start Over" button
- Verify invite code sharing works
- Check loading states during invite operations
- Change: Added 14 new memoji assets and updated naming convention
- Test:
- Verify all memoji display correctly
- Check MemberAvatar component uses new assets
- Verify memoji selection works in avatar creation
- Change: Refactored headers for improved navigation and consistency
- Test:
- Check ListsTab header navigation
- Verify SettingsSheet header behavior
- Test back button functionality
- Change: Added support for custom back actions
- Test:
- Verify custom back actions work
- Check navigation flow in canvas views
- Complete onboarding flow end-to-end
- Navigate to Settings and back without crashes
- View Recent Scans (both empty and populated states)
- Test family creation and member addition
- Verify invite code flow works
- Check stats display on Home screen
- Verify all SecondaryButton instances work correctly
- Check empty states display properly
- Verify toast notifications appear correctly
- Test all onboarding screens and navigation
- Test with poor network conditions
- Verify onboarding state persists after app restart
- Check retry logic for failed requests
- Test stats API integration
- Test with no scans (empty state)
- Test with no family members
- Test permission denial scenarios
- Test with slow network connections
- This branch includes significant refactoring of onboarding and navigation logic
- Pay special attention to navigation flows, especially Settings and onboarding
- Test on different network conditions to verify retry logic
- Verify all button interactions work correctly after SecondaryButton refactor
- Check that onboarding completion state persists correctly across app sessions