Commit Graph

9 Commits

Author SHA1 Message Date
Dani B
7b3d1bbd63 feat(01-03): create signup page with password confirmation
- 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.
2026-01-28 10:13:13 -05:00
Dani B
8d8ee17586 feat(01-03): create login page with form 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.
2026-01-28 10:09:34 -05:00
Dani B
122b45e04d feat(01-03): create reusable auth components
- 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.
2026-01-28 10:05:05 -05:00
Dani B
58f2b5bce4 fix(01-02): resolve compilation errors in auth models
- 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
2026-01-28 09:34:56 -05:00
Dani B
06e3ea48fb feat(01-02): create AuthRepository interface
- Abstract AuthRepository class defines all authentication operations
- Core methods: signUp, signIn, signOut, resetPassword, getCurrentUser
- Stream-based auth state changes with authStateChanges()
- Profile management: updateProfile, sendEmailVerification
- Security features: changePassword, deleteAccount, refreshSession
- OAuth support: signInWithOAuth, signInAnonymously
- Comprehensive documentation with exception specifications
2026-01-28 09:14:37 -05:00
Dani B
b46cabe9fa feat(01-02): create custom authentication exceptions
- Base AuthException class for consistent error handling
- Specific exception types: InvalidCredentials, UserNotFound, WeakPassword
- EmailAlreadyInUse, Network, SessionExpired, EmailNotVerified
- TooManyRequests, AuthDisabled exceptions for edge cases
- AuthExceptionFactory converts Supabase errors to custom exceptions
- User-friendly error messages with proper error codes
2026-01-28 09:12:01 -05:00
Dani B
c45bb22971 feat(01-02): create AuthUser data model
- AuthUser class wraps Supabase User for clean architecture
- Includes fromSupabase() factory constructor for conversion
- Provides copyWith() method for immutable updates
- Contains essential fields: id, email, created_at, email_verified
- Optional fields: display_name, avatar_url, last_sign_in_at
- Proper null safety and equality operators implemented
2026-01-28 09:09:50 -05:00
Dani B
97637e5baa feat(01-01): Initialize Supabase in main.dart
- 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
2026-01-28 08:40:26 -05:00
Dani B
44f444eafc feat(01-01): Create secure Supabase configuration system
- 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
2026-01-28 08:26:50 -05:00