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
5.9 KiB
5.9 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous, user_setup, must_haves
| phase | plan | type | wave | depends_on | files_modified | autonomous | user_setup | must_haves | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-authentication | 03 | execute | 2 |
|
|
true |
|
Purpose: Provide user interface for signup and login flows with proper form validation and responsive design. Output: Complete authentication screens ready to connect to auth repository implementation.
<execution_context>
@/.opencode/get-shit-done/workflows/execute-plan.md
@/.opencode/get-shit-done/templates/summary.md
</execution_context>
1. AuthButton widget that:
- Accepts onPressed callback, text, loading state
- Shows loading indicator when disabled
- Has proper styling and disabled states
- Supports variant prop (primary, secondary)
- Includes proper accessibility labels
2. AuthForm widget that:
- Accepts email and password field configurations
- Provides form validation (email format, password strength)
- Shows validation errors in real-time
- Has onSubmit callback
- Includes obscure text toggle for password
- Proper text input types and keyboard types
- Responsive layout for mobile/tablet
Widgets render without errors, handle user input properly, and show validation feedback
Reusable authentication components that handle form validation and user interactions
Create login page
lib/features/authentication/presentation/pages/login_page.dart
Create LoginPage widget that:
1. Uses AuthForm for email/password inputs
2. Uses AuthButton for submit action
3. Has "Forgot password?" link (placeholder for now)
4. Has "Sign up" navigation link
5. Properly handles form submission
6. Shows loading states during authentication
7. Has proper page structure with SafeArea
8. Responsive design for different screen sizes
9. Includes app bar if needed for navigation
10. Proper accessibility labels and semantic structure
Login page renders correctly, form validation works, and all interactive elements respond to user input
Complete login screen ready to connect to authentication logic
Create signup page
lib/features/authentication/presentation/pages/signup_page.dart
Create SignupPage widget that:
1. Uses AuthForm for email/password inputs
2. Includes password confirmation field
3. Uses AuthButton for submit action
4. Has "Sign in" navigation link
5. Shows terms of service and privacy policy links (placeholder text)
6. Properly handles form submission
7. Shows loading states during registration
8. Validates password matching
9. Has proper page structure with SafeArea
10. Responsive design for different screen sizes
11. Includes app bar if needed for navigation
12. Proper accessibility labels and semantic structure
Signup page renders correctly, form validation works for all fields, and password confirmation matches properly
Complete signup screen with password confirmation ready to connect to authentication logic
1. All authentication pages render without compilation errors
2. Form validation provides immediate and helpful feedback
3. Components are responsive across different screen sizes
4. Accessibility features work correctly (screen readers, semantic structure)
5. Loading states work properly during form submission
6. Navigation elements are present and functional (even if placeholder actions)
<success_criteria> Authentication UI is complete with proper form validation, responsive design, and reusable components ready for integration with auth logic. </success_criteria>
After completion, create `.planning/phases/01-authentication/01-03-SUMMARY.md`