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
ShellRouteMatch
support 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 bothRouteMatch
andShellRouteMatch
cases- Added proper type checking and error handling for shell route matches
- Enhanced documentation explaining shell route design principles
- Path Matching: Enhanced
_pathMatcherCallback()
method to supportShellRouteMatch
path comparison - Current Route Detection: Improved
isCurrent()
method to handleShellRouteMatch
objects by checking the entire navigation stack for route name matches
Fixed #
- Type Safety: Fixed compilation errors related to accessing non-existent
name
property 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
currentState
getter with fallback to empty state when router is not ready - Improved
canPop
getter 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
router
getter 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
notPopIfNotExists
parameter 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
. NavigationState
model for passing path/query parameters and extra data.- Extensible design: implement your own
NavigationManager
for any navigation backend. - Example app demonstrating all features.