# GoNavigator - Enhanced Navigation for Flutter Apps

**GoNavigator** is a feature-rich Flutter plugin designed to take your app's navigation capabilities to the next level. Whether you're building a simple mobile app or a complex multi-platform application, **GoNavigator** provides the tools you need to manage routes and the navigation stack with ease and efficiency.

## Advanced Navigation Features

- **Navigate to Specific Routes:** Easily navigate to specific routes within your app using named routes and optional arguments.
- **Clear Navigation Stack:** Clear all previous routes from the navigation stack, ensuring a clean and controlled navigation experience.
- **Replace Routes:** Replace the current route with a new named route, allowing for seamless navigation transitions.
- **Pop Until Route:** Pop routes from the navigation stack until a specific route is reached, providing precise control over navigation flow.
- **Return Data from Routes:** Navigate back to the previous screen with provided data, enabling dynamic interactions between screens.

## What's New in Version 2.0.3

### Added
- **Nested Routes Support:** Added support for nested routes, allowing for more complex route structures within your app.
- **Improved Error Handling:** Enhanced error messages to provide clearer information about route definition issues.
- **Refactored Route Handling:** Restructured route handling for better readability and maintainability.

### Changed
- **Route Definition:** Updated the `GoNavigator` class to expect a map where values can be either a widget constructor or a nested map of routes.
=======
- Decentralized parameters for each function in the navigation system.
  - Before: `Go(context).to(routeName: Page1.routeName)`
  - After: `context.to(Page1.routeName)`

Fixed

  • Type Error Issue: Resolved the type error issue related to the return type of nested route builders.

Getting Started

To start using GoNavigator in your Flutter app:

  1. Add the Plugin: Include the go_navigator plugin in your pubspec.yaml file.
  2. Import the Package: Import the package into your Dart code.
  3. Use the Go<T> Class: Create an instance of the Go<T> class and utilize its methods for navigation tasks.

Example Usage

// Navigating to a new route and expecting data
final result =
    await context.toAndExpectData<bool>(SecondScreen.routeName);

// Navigating back to the previous screen with data
context.backWithData(true);

Elevate Your App's Navigation Experience

With GoNavigator, you can create a seamless and intuitive navigation experience for your users. Whether you're building a mobile app or a desktop application, GoNavigator provides the flexibility and control you need to manage your app's navigation flow effectively.

Platform Support

GoNavigator is supported on Android, iOS, MacOS, and Windows platforms.

For detailed implementation and usage instructions, refer to the code documentation and examples provided with the plugin.


Note: For a complete list of features and detailed usage instructions, please refer to the documentation provided with the plugin or contact admin [mailto:jessedan160@gmail.com - https://github.com/Jesse-Dan]