flutter_navigation_manager 1.1.2
flutter_navigation_manager: ^1.1.2 copied to clipboard
A comprehensive Flutter navigation management package with route management, navigation services, and shell navigation support.
Changelog #
All notable changes to this project will be documented in this file.
1.1.2 - 2025-08-06 #
Added #
- Shell Route Support: Added comprehensive
ShellRouteMatchsupport to prevent redundant navigationisShellRouteActive()- Check if a shell route with the given path is currently active- Enhanced path-based navigation methods (
pushPath(),replacePath(),pushPathAndClearStack()) to detect and prevent redundant shell route navigation - Added shell route detection to avoid unnecessary rebuilds and navigation operations
Enhanced #
- Route Matching: Improved
_routeMatcherCallback()method to properly handle bothRouteMatchandShellRouteMatchcases- Added proper type checking and error handling for shell route matches
- Enhanced documentation explaining shell route design principles
- Path Matching: Enhanced
_pathMatcherCallback()method to supportShellRouteMatchpath comparison - Current Route Detection: Improved
isCurrent()method to handleShellRouteMatchobjects by checking the entire navigation stack for route name matches
Fixed #
- Type Safety: Fixed compilation errors related to accessing non-existent
nameproperty onShellRouteBase - Shell Route Navigation: Resolved issues where shell routes could trigger redundant navigation operations
- Route Stack Analysis: Enhanced route stack analysis to properly identify active shell routes
Improved #
- Performance: Prevented unnecessary navigation operations when users attempt to navigate to already active shell routes
- User Experience: Eliminated jarring navigation effects when clicking the same shell route multiple times
- State Preservation: Maintained current state within shell routes during redundant navigation attempts
- API Consistency: Extended navigation manager interface with
isShellRouteActive()method for consistent API surface
1.1.1 - 2025-07-29 #
Enhanced #
- Robust Error Handling: Added comprehensive try-catch blocks throughout GoNavigationManager to handle router state initialization
- Enhanced
currentStategetter with fallback to empty state when router is not ready - Improved
canPopgetter with error handling for uninitialized router - Added error handling to
hasRouteInStack(),isCurrent(), andisCurrentPath()methods - Enhanced
popUntil()andpopUntilPath()methods with fallback navigation logic
- Enhanced
Fixed #
- Route Name Checking: Fixed
isCurrent()method to properly check route names instead of paths - Type Safety: Updated
routergetter to return correctRouterConfig<Object>type instead ofGoRouter - Null Safety: Added proper null checks in route matching callbacks to prevent null pointer exceptions
- Import Dependencies: Added missing Flutter material import for proper widget support
Updated #
- Dependencies: Updated flutter_shared_utilities from ^1.0.12 to ^1.0.14
- Development Dependencies: Updated custom_lint from ^0.7.5 to ^0.8.0
- Development Dependencies: Updated flutter_custom_lints from ^1.0.12 to ^1.0.19
Improved #
- API Enhancement: Added
notPopIfNotExistsparameter topopUntil()method for better navigation control - Code Robustness: Enhanced overall stability during router initialization and state transitions
- Documentation: Improved method documentation with detailed error handling behavior
1.1.0 - 2025-07-07 #
Added #
- Path-based Navigation Methods: Added comprehensive path-based navigation support alongside existing name-based methods
pushPath()- Navigate to a path and push it onto the navigation stackreplacePath()- Replace the current route with a pathpushPathAndClearStack()- Clear the entire navigation stack and push a pathpopUntilPath()- Pop routes from the navigation stack until the specified path is reachedhasPathInStack()- Check if the specified path exists in the current navigation stackisCurrentPath()- Check if the specified path is the current route
Enhanced #
- GoNavigationManager: Added complete implementation of all path-based navigation methods
- Internal helper methods for path matching and query parameter handling
- Consistent behavior with existing name-based methods
- Support for NavigationState with query parameters and extra data
1.0.3 - 2025-07-02 #
Enhanced #
- Major Example App Overhaul: Complete rewrite of the example application with a comprehensive task management demo
- Added full-featured task management UI with create, edit, delete, and complete functionality
- Implemented multiple screens: Dashboard, Tasks, Task Details, Create/Edit Task, Profile, Projects, Settings
- Added authentication flow demonstration
- Enhanced navigation debugging and state visualization
- Added comprehensive navigation patterns showcase
Updated #
- Dependencies: Updated go_router from ^15.2.0 to ^16.0.0
- Dependencies: Updated flutter_shared_utilities from ^1.0.1 to ^1.0.12
- Dependencies: Updated flutter_custom_lints from ^1.0.2 to ^1.0.12
Improved #
- Enhanced example app documentation and README
- Better demonstration of navigation manager capabilities
- Improved code organization and documentation
- Added comprehensive navigation state management examples
1.0.2 - 2025-06-23 #
- Integrate routerConfig getter to the interface
1.0.0 - 2025-06-19 #
- Initial release of Flutter Navigation Manager.
- Unified navigation API:
pushNamed,replaceNamed,pushNamedAndClearStack,pop,popUntil,canPop,hasRouteInStack,isCurrent,refresh,dispose. NavigationStatemodel for passing path/query parameters and extra data.- Extensible design: implement your own
NavigationManagerfor any navigation backend. - Example app demonstrating all features.