- 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
106 lines
3.5 KiB
Markdown
106 lines
3.5 KiB
Markdown
---
|
|
phase: 01-authentication
|
|
plan: 07
|
|
type: execute
|
|
wave: 3
|
|
depends_on: ["01-05", "01-06"]
|
|
files_modified: ["lib/app/router.dart", "lib/presentation/pages/home_page.dart", "lib/main.dart", "test/integration_test/auth_flow_test.dart"]
|
|
autonomous: true
|
|
user_setup: []
|
|
|
|
must_haves:
|
|
truths:
|
|
- "Password reset navigation works seamlessly"
|
|
- "Deep linking works on mobile and web"
|
|
artifacts:
|
|
- path: "lib/app/router.dart"
|
|
provides: "Complete routing with password reset support"
|
|
min_lines: 50
|
|
key_links:
|
|
- from: "lib/app/router.dart"
|
|
to: "reset_password_page.dart"
|
|
via: "route configuration"
|
|
pattern: "/reset-password"
|
|
- from: "lib/app/router.dart"
|
|
to: "update_password_page.dart"
|
|
via: "deep link handling"
|
|
pattern: "/update-password"
|
|
---
|
|
|
|
<objective>
|
|
Integrate password reset navigation and deep linking.
|
|
|
|
Purpose: Complete password reset flow with proper routing and URL handling.
|
|
Output: Full navigation system supporting password reset on mobile and web platforms.
|
|
</objective>
|
|
|
|
<execution_context>
|
|
@~/.opencode/get-shit-done/workflows/execute-plan.md
|
|
@~/.opencode/get-shit-done/templates/summary.md
|
|
</execution_context>
|
|
|
|
<context>
|
|
@.planning/PROJECT.md
|
|
@.planning/ROADMAP.md
|
|
@.planning/STATE.md
|
|
@.planning/phases/01-authentication/01-RESEARCH.md
|
|
</context>
|
|
|
|
<tasks>
|
|
|
|
<task type="auto">
|
|
<name>Integrate password reset with navigation</name>
|
|
<files>lib/app/router.dart</files>
|
|
<action>
|
|
Update router to:
|
|
1. Add /reset-password route for reset request page
|
|
2. Add /update-password route for password update page
|
|
3. Handle deep linking for password reset URLs
|
|
4. Parse reset tokens from URL parameters
|
|
5. Add proper route guards and validation
|
|
6. Include password reset links in login/signup pages
|
|
7. Configure proper URL scheme for mobile deep linking
|
|
8. Handle web redirect URLs properly
|
|
9. Add error handling for malformed reset URLs
|
|
10. Ensure navigation flow works correctly
|
|
</action>
|
|
<verify>Navigation properly handles password reset flow and deep linking</verify>
|
|
<done>Complete navigation integration for password reset functionality</done>
|
|
</task>
|
|
|
|
<task type="auto">
|
|
<name>Update pages with password reset links</name>
|
|
<files>lib/presentation/pages/home_page.dart, lib/main.dart</files>
|
|
<action>
|
|
Update pages to include password reset navigation:
|
|
1. Add "Forgot Password?" link to login page
|
|
2. Add "Forgot Password?" link to signup page
|
|
3. Ensure deep linking works from password reset emails
|
|
4. Update main app configuration for deep linking
|
|
5. Test navigation flows between auth pages
|
|
6. Ensure proper URL scheme configuration
|
|
7. Add navigation guards for protected routes
|
|
8. Handle error states gracefully
|
|
</action>
|
|
<verify>Password reset links work correctly and deep linking functions on both platforms</verify>
|
|
<done>All auth pages include password reset navigation with working deep links</done>
|
|
</task>
|
|
|
|
</tasks>
|
|
|
|
<verification>
|
|
1. Navigation flows correctly through entire password reset journey
|
|
2. Deep linking works on both mobile and web platforms
|
|
3. Route guards prevent unauthorized access to reset pages
|
|
4. Error handling covers malformed reset URLs
|
|
5. Password reset links appear in login/signup pages
|
|
6. URL scheme properly configured for mobile deep linking
|
|
</verification>
|
|
|
|
<success_criteria>
|
|
Complete password reset navigation system with deep linking support across platforms.
|
|
</success_criteria>
|
|
|
|
<output>
|
|
After completion, create `.planning/phases/01-authentication/01-07-SUMMARY.md`
|
|
</output> |