-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define and organize routes for screens #23
Comments
Mohammd @mohamadkenway : Please follow the Conventional Commits standard for writing commit messages. This helps maintain clear and organized commit histories, which is already practiced in other Pactus repositories. You can also review the team's contribution guidelines in the CONTRIBUTING file of the Pactus-GUI repository. Note that this file will be updated over time with the team's latest internal standards. |
- Apply consistent code formatting • Run dart format on all new files • Ensure proper indentation • Maintain consistent style This feature provides a foundation for app-wide navigation using GoRouter, enabling efficient task distribution among team members while maintaining a cohesive navigation pattern throughout the app. The implementation follows a feature-first structure and includes: • Type-safe route management • Automatic navigation from splash to home • Proper handling of back navigation • Comprehensive test coverage • Consistent code formatting Closes #23
- Add initial route configuration for auth and basic flows - Configure registration flow routes: - Welcome Page - Initialize Mode - Restoration Seed - Confirmation Seed - Master Password - Validator Config - Initializing - Finish - Set up basic flow routes: - SplashScreen - Password - Dashboard BREAKING CHANGE: New routing architecture implementation Requires updated navigation handling throughout the app Resolves: #23
* feat(router): implement GoRouter navigation system - Setup GoRouter configuration with initial routes • Create app_router.dart with route definitions • Define AppRoute enum for type-safe routing • Configure MaterialApp.router in main.dart - Implement core screens with navigation flow • Add SplashScreen with 2-second auto-navigation • Create HomeScreen with basic layout • Setup proper back navigation handling - Add comprehensive router tests • Test route paths and names validation • Verify navigation flow from splash to home • Ensure proper widget rendering • Test back navigation behavior The implementation follows a feature-first structure and includes: • Type-safe route management • Automatic navigation from splash to home • Proper handling of back navigation • Comprehensive test coverage * feat(router): implement GoRouter navigation system - Apply consistent code formatting • Run dart format on all new files • Ensure proper indentation • Maintain consistent style This feature provides a foundation for app-wide navigation using GoRouter, enabling efficient task distribution among team members while maintaining a cohesive navigation pattern throughout the app. The implementation follows a feature-first structure and includes: • Type-safe route management • Automatic navigation from splash to home • Proper handling of back navigation • Comprehensive test coverage • Consistent code formatting Closes #23 * update: re organized files and directories Reorganizes the project structure by moving `app_router` into the inner `src/core` directory to improve modularity and maintainability. No functionality has been changed in this refactor. * update(router): implement core navigation structure - Add initial route configuration for auth and basic flows - Configure registration flow routes: - Welcome Page - Initialize Mode - Restoration Seed - Confirmation Seed - Master Password - Validator Config - Initializing - Finish - Set up basic flow routes: - SplashScreen - Password - Dashboard BREAKING CHANGE: New routing architecture implementation Requires updated navigation handling throughout the app Resolves: #23 * no feat(router): implement GoRouter navigation system conflict: resolved conflicts * update(router): implement core navigation structure - Separate to register route and basic route - Add gap dependency - remove unused code in language_bloc - update code in route_name for easy-to-read * update(router): implement core navigation structure - implement test case * update(core:router): changing `AppRoute` get method's - remove `routeName` get method - rename `routePath` get method to `path` * fix(core:router): fix `basic routes` for correctly action of back button * fix(router/features): fix `register routes` for correctly action of back button --------- Co-authored-by: Esmaeil Ahmadipour <[email protected]>
Overview
Feature Description
This feature focuses on setting up and connecting routes for all application pages using GoRouter. The pages are designed to be simple, each containing an AppBar and a button for navigating between them. The primary goal is to ensure seamless navigation, including proper handling of back navigation throughout the app.
The objective is to provide developers with a clear and reusable routing structure, enabling efficient task distribution among team members. Each page can then be independently developed while maintaining a cohesive navigation flow. Additionally, this setup serves as a foundation to identify and address any potential issues in the user navigation experience early on.
Click to expand the scenario
Scenario: Testing the Navigation Flow
Imagine a developer opens the app to validate the navigation flow. They start from a main page, which includes a button to navigate to the next page. Upon clicking the button, they are directed to a new page that also contains a button for returning to the previous page.
The developer continues exploring other pages of the app, navigating back and forth between them to ensure that all routes function correctly. They also test the back navigation feature to confirm that the user flow remains consistent and error-free. This process helps uncover any navigation issues early in development, making it easier to address them.
Design Reference
No responsive adjustments needed for now; focus is on navigation structure.
The text was updated successfully, but these errors were encountered: