Files
Sage/.planning/phases/01-authentication/01-11-PLAN.md
Dani B ff56c75da0 fix(01): resolve checker blocker issues
- Create missing Plan 01-07 (password reset navigation)
- Update Plan 01-10 to contain logout functionality (covers AUTH-05)
- Split Plan 01-04 into Plans 01-04 and 01-11 (2-3 tasks each)
- Fix dependency references throughout phase
- Update ROADMAP.md to reflect 11 plans in 4 waves
2026-01-28 00:49:01 -05:00

4.0 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 11 execute 2
01-04
lib/app/router.dart
lib/presentation/pages/splash_page.dart
lib/main.dart
true
truths artifacts key_links
Navigation works based on authentication status
App starts with splash screen and navigates appropriately
Protected routes redirect to login when not authenticated
path provides min_lines
lib/app/router.dart Auth-based navigation 40
path provides min_lines
lib/presentation/pages/splash_page.dart Initial loading screen 20
from to via pattern
lib/providers/auth_provider.dart lib/app/router.dart auth state listening onAuthStateChange|authStateChanges
from to via pattern
lib/app/router.dart lib/presentation/pages/splash_page.dart initial navigation splash|initial
Implement auth-aware navigation system and app integration.

Purpose: Create navigation system that protects routes and responds to authentication changes. Output: Complete navigation system with protected routes and proper app initialization.

<execution_context> @/.opencode/get-shit-done/workflows/execute-plan.md @/.opencode/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/01-authentication/01-RESEARCH.md Create auth-aware navigation system lib/app/router.dart, lib/presentation/pages/splash_page.dart Create navigation system with:
1. SplashPage that:
   - Shows while checking initial auth state
   - Navigates to login or home after auth check
   - Has proper loading indicator
   - Handles app startup sequence

2. Router configuration that:
   - Uses GoRouter for declarative routing
   - Has protected routes (redirect to login if not authenticated)
   - Has public routes (login, signup, password reset)
   - Listens to AuthProvider for auth state changes
   - Includes proper route definitions:
     - / → redirect based on auth state
     - /login → login page
     - /signup → signup page  
     - /home → protected home route (placeholder)
   - Handles deep linking properly
   - Includes proper error handling for navigation
Navigation correctly redirects based on authentication status and all routes are accessible Complete navigation system that protects routes and responds to authentication changes Integrate auth system with main app lib/main.dart Update main.dart to: 1. Wrap MyApp with appropriate providers (Riverpod/ChangeNotifierProvider) 2. Initialize AuthProvider with AuthRepositoryImpl 3. Configure router with auth state integration 4. Set up proper error boundaries 5. Ensure proper initialization order 6. Add proper app structure with MaterialApp.router 7. Configure theme and other app-level settings 8. Ensure proper disposal of resources App starts with splash screen, properly checks auth state, and navigates to appropriate initial screen Complete app integration with authentication system 1. Navigation system properly protects routes and redirects based on auth status 2. App starts with splash screen and navigates to appropriate screen 3. Deep linking works correctly 4. Error handling covers navigation failures 5. Auth state changes trigger appropriate navigation updates

<success_criteria> Complete navigation system with protected routes and proper app integration. </success_criteria>

After completion, create `.planning/phases/01-authentication/01-11-SUMMARY.md`