From 01cd3ba21872f64fcc354ddb5e7e5ed4674a495a Mon Sep 17 00:00:00 2001 From: milad Date: Tue, 30 Jul 2024 15:48:53 +0300 Subject: [PATCH] prepare merge --- README.md | 31 +++++++++++++++++++++++++++++- art/auto_route_logo.png | Bin 0 -> 17946 bytes auto_route/CHANGELOG.md | 20 +++++++++++++++++++ auto_route/pubspec.yaml | 13 ++++++++++--- auto_route_generator/CHANGELOG.md | 21 ++++++++++++++++++++ auto_route_generator/pubspec.yaml | 4 ++-- 6 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 art/auto_route_logo.png diff --git a/README.md b/README.md index 734b83ff..7ec501de 100644 --- a/README.md +++ b/README.md @@ -400,7 +400,6 @@ class DashboardPage extends StatelessWidget { } } ``` - **Note** NavLink is just a button that calls router.push(destination). Now if we navigate to `/dashboard/users`, we will be taken to the `DashboardPage` and the `UsersPage` will be shown inside of it. What if want to show one of the child pages at `/dashboard`? We can simply do that by giving the child routes an empty path `''` to make initial or by setting initial to true. @@ -416,6 +415,36 @@ AutoRoute( ) ``` +#### Creating Empty Shell routes +Empty shell routes build a screen that contain the `AutoRouter` widget, which is used to render nested routes. +So you can build the widget your self like follows: +```dart +@RoutePage() +class MyShellPage extends StatelessWidget { + const MyShellPage({Key? key}) : super(key: key); + @override + Widget build(BuildContext context) { + /// you can wrap the AutoRouter with any widget you want + return AutoRouter(); + } +} +``` +You can shorten the code above a bit by directly extending the `AutoRouter` Widget. +```dart +@RoutePage() +class MyShellPage extends AutoRouter { + const MyShellPage({Key? key}) : super(key: key); +} +``` + +finally you can create a shell route without code generation using the `EmptyShellRoute` helper + + ```dart + final BooksTab = EmptyShellRoute('BooksTab'); + context.push(BooksTab()); + ``` + + or by using a `RedirectRoute` ```dart diff --git a/art/auto_route_logo.png b/art/auto_route_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..905ef315d03ea096d8746138d980c3edfa4df70d GIT binary patch literal 17946 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 is no longer needed. you + just provide the type as you push the page. +- **BREAKING CHANGE**: Providing a global route is now done by overriding the `guards` property + inside the router. implementing AutoRouteGuard is no longer supported. +- **BREAKING CHANGE**: `AutoRouterConfig.module` is removed as it's no longer needed. `PageRouteInfos` are now self-contained. +- + For more info read the complete migration guide + [Migrating to v9](https://github.com/Milad-Akarie/auto_route_library/blob/master/migrations/migrating_to_v9.md) + +- **FIX**: Fix Aliased types are not generated correctly. +- **FEAT**: You can now create empty shell routes like follows: + ```dart + final BooksTab = EmptyShellRoute('BooksTab'); + context.push(BooksTab()); + ``` + ## 8.3.0 - **FEAT**: add url#fragment support. diff --git a/auto_route/pubspec.yaml b/auto_route/pubspec.yaml index 1c351acd..c5f27cd6 100644 --- a/auto_route/pubspec.yaml +++ b/auto_route/pubspec.yaml @@ -1,7 +1,14 @@ name: auto_route description: AutoRoute is a declarative routing solution, where everything needed for navigation is automatically generated for you. -version: 8.3.0 +version: 9.0.0 homepage: https://github.com/Milad-Akarie/auto_route_library +screenshots: + - description: 'Auto Route Logo' + path: art/auto_route_logo.png +topics: + - Navigation + - Router + - Flutter Routes environment: sdk: ">=3.0.0 <4.0.0" @@ -11,7 +18,7 @@ dependencies: flutter: sdk: flutter path: ^1.9.0 - web: ^0.5.1 + web: ^1.0.0 collection: ^1.18.0 meta: ^1.12.0 @@ -21,7 +28,7 @@ dependencies: dev_dependencies: build_runner: mockito: ^5.4.4 - auto_route_generator: ^8.1.0 + auto_route_generator: ^9.0.0 flutter_test: sdk: flutter flutter_lints: ^4.0.0 diff --git a/auto_route_generator/CHANGELOG.md b/auto_route_generator/CHANGELOG.md index c0856dcd..9d46096c 100644 --- a/auto_route_generator/CHANGELOG.md +++ b/auto_route_generator/CHANGELOG.md @@ -1,3 +1,24 @@ +## 9.0.0 [Breaking Changes] + +- **BREAKING CHANGE**: No Router class will be generated anymore. Instead, you + extend `RootStackRouter` from the `auto_route` package. +- **BREAKING CHANGE**: Providing return types inside `@RoutePage()` is no longer needed. you + just provide the type as you push the page. +- **BREAKING CHANGE**: Providing a global route is now done by overriding the `guards` property + inside the router. implementing AutoRouteGuard is no longer supported. +- **BREAKING CHANGE**: `AutoRouterConfig.module` is removed as it's no longer needed. `PageRouteInfos` are now self-contained. +- +For more info read the complete migration guide +[Migrating to v9](https://github.com/Milad-Akarie/auto_route_library/blob/master/migrations/migrating_to_v9.md) + +- **FIX**: Fix Aliased types are not generated correctly. +- **FEAT**: You can now create empty shell routes like follows: + ```dart + final BooksTab = EmptyShellRoute('BooksTab'); + context.push(BooksTab()); + ``` + + ## 8.1.0 - **FEAT**: add url#fragment support. - **CHORE**: update auto_route_generator dependencies diff --git a/auto_route_generator/pubspec.yaml b/auto_route_generator/pubspec.yaml index 65c92933..61aa4e9e 100644 --- a/auto_route_generator/pubspec.yaml +++ b/auto_route_generator/pubspec.yaml @@ -1,6 +1,6 @@ name: auto_route_generator description: AutoRoute is a declarative routing solution, where everything needed for navigation is automatically generated for you. -version: 8.1.0 +version: 9.0.0 homepage: https://github.com/Milad-Akarie/auto_route_library environment: sdk: ">=3.3.0 <4.0.0" @@ -19,7 +19,7 @@ dependencies: args: ^2.5.0 glob: ^2.1.2 package_config: ^2.1.0 - auto_route: ^8.3.0 + auto_route: ^9.0.0