- Implements global auth state management with Riverpod
- Manages auth state (user, loading, error) automatically
- Listens to repository authStateChanges stream
- Provides methods for all auth operations
- Handles loading states and errors properly
- Updates UI state automatically on auth changes
- Includes convenience providers for common use cases
- Properly disposes of stream subscriptions
- Complete registration screen with email/password/confirm password fields
- Integrated AuthForm widget for consistent form handling
- Terms of Service and Privacy Policy checkboxes with placeholder dialogs
- Password confirmation validation matching requirement
- Sign in navigation to login screen
- Loading states during registration process
- Responsive design matching login page layout
- Error handling for duplicate emails and registration failures
Authentication UI components complete and ready for backend integration.
- Complete login screen with email/password authentication form
- Integrated AuthForm widget for consistent form handling
- Added forgot password placeholder functionality
- Sign up navigation to registration screen
- Loading states during authentication process
- Responsive design with SafeArea and centered layout
- App icon and welcome messaging
- Error handling for invalid credentials
Ready for authentication logic integration.
- AuthButton widget with loading states and variants (primary, secondary, outline)
- AuthForm widget with email/password fields and real-time validation
- Password visibility toggle functionality
- Responsive design with proper accessibility labels
- Form validation for email format and password strength
Components ready for use in login/signup pages.
- Fixed import path in AuthRepository to reach core errors
- Updated AuthUser.fromSupabase() to handle DateTime parsing safely
- Added UnknownAuthException for fallback error handling
- Fixed null-aware operators in AuthUser model
- All authentication files now compile without errors
- Updated main.dart with proper Supabase initialization
- Added environment loading with error handling
- Replaced default Flutter template with Sage app
- Created simple HomePage with Supabase connection status
- Used debugPrint instead of print for production compliance
- Created .env template with SUPABASE_URL and SUPABASE_ANON_KEY placeholders
- Added .env to .gitignore to prevent committing secrets
- Created SupabaseConstants class with secure environment loading
- Added validation to ensure required environment variables are set
- Created core/constants directory structure
- Added supabase_flutter: ^2.12.0 for authentication and database
- Added flutter_dotenv: ^5.1.0 for environment management
- Added go_router: ^13.0.0 for navigation
- Added riverpod: ^2.5.0 for state management
- Added flutter_secure_storage: ^9.0.0 for secure token storage
- Created Flutter project structure with default template
- Remove dependency on Plan 11 from Plan 05 (password reset UI)
- Remove dependency on Plan 11 from Plan 08
- Both plans now only depend on Plan 03 (auth UI components)
- Fixes wave ordering violation where later wave depended on earlier wave
- Split Plan 05 (5 tasks → 2 tasks): password reset request interface
- Split Plan 06 (5 tasks → 2 tasks): created Plans 06-09 for focused scope
- Fixed Plan 06 wave assignment: Wave 4 → Wave 3 (depends only on Wave 2)
- Created Plan 07: password reset navigation and deep linking
- Created Plan 08: authentication pages error handling
- Created Plan 09: auth components error display and loading feedback
- Updated Plan 07 → Plan 10: logout and verification
- Updated ROADMAP.md with 10 plans in 4 waves
- All plans now have 2-3 tasks as recommended
Phase 1: Authentication & Account Basics
- 7 plans in 4 waves
- Covers AUTH-01 through AUTH-05 requirements
- Foundation for household features in Phase 2
- Ready for execution