Skip to content

Commit 5773a70

Browse files
[go_router_builder] Update to go_router 6 (#2977)
* 📝 Update the documentation to go_router 6 * ♻️ Update the example to use go_router 6 * ⬆️ Upgrade go_router_builder version
1 parent 60fe45f commit 5773a70

7 files changed

Lines changed: 42 additions & 32 deletions

File tree

packages/go_router_builder/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.0.16
2+
3+
* Update the documentation to go_router v6.0.0.
4+
* Bumps go_router version in example folder to v6.0.0.
5+
16
## 1.0.15
27

38
* Avoids using deprecated DartType.element2.

packages/go_router_builder/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class HomeRoute extends GoRouteData {
8585
const HomeRoute();
8686
8787
@override
88-
Widget build(BuildContext context) => const HomeScreen();
88+
Widget build(BuildContext context, GoRouterState state) => const HomeScreen();
8989
}
9090
```
9191

@@ -109,7 +109,7 @@ class HomeRoute extends GoRouteData {
109109
const HomeRoute();
110110
111111
@override
112-
Widget build(BuildContext context) => HomeScreen(families: familyData);
112+
Widget build(BuildContext context, GoRouterState state) => HomeScreen(families: familyData);
113113
}
114114
115115
@TypedGoRoute<LoginRoute>(path: '/login')
@@ -135,7 +135,7 @@ class ErrorRoute extends GoRouteData {
135135
final Exception error;
136136
137137
@override
138-
Widget build(BuildContext context) => ErrorScreen(error: error);
138+
Widget build(BuildContext context, GoRouterState state) => ErrorScreen(error: error);
139139
}
140140
```
141141

@@ -175,7 +175,7 @@ class LoginRoute extends GoRouteData {
175175
final String? from;
176176
177177
@override
178-
Widget build(BuildContext context) => LoginScreen(from: from);
178+
Widget build(BuildContext context, GoRouterState state) => LoginScreen(from: from);
179179
}
180180
```
181181

@@ -190,7 +190,7 @@ class PersonRouteWithExtra extends GoRouteData {
190190
final int? $extra;
191191
192192
@override
193-
Widget build(BuildContext context) => PersonScreen(personId: $extra);
193+
Widget build(BuildContext context, GoRouterState state) => PersonScreen(personId: $extra);
194194
}
195195
```
196196

@@ -216,7 +216,7 @@ class HotdogRouteWithEverything extends GoRouteData {
216216
final Sauce $extra; // special $extra parameter
217217
218218
@override
219-
Widget build(BuildContext context) => HotdogScreen(ketchup, mustard, $extra);
219+
Widget build(BuildContext context, GoRouterState state) => HotdogScreen(ketchup, mustard, $extra);
220220
}
221221
```
222222

@@ -245,7 +245,7 @@ Handle route-level redirects by implementing the `redirect` method on the route:
245245
class HomeRoute extends GoRouteData {
246246
// no need to implement [build] when this [redirect] is unconditional
247247
@override
248-
String? redirect() => BooksRoute().location;
248+
String? redirect(BuildContext context, GoRouterState state) => BooksRoute().location;
249249
}
250250
```
251251

@@ -262,7 +262,7 @@ class BooksRoute extends GoRouteData {
262262
final BookKind kind;
263263
264264
@override
265-
Widget build(BuildContext context) => BooksScreen(kind: kind);
265+
Widget build(BuildContext context, GoRouterState state) => BooksScreen(kind: kind);
266266
}
267267
```
268268

@@ -279,14 +279,14 @@ of the page and the `restorationId` of the page.
279279

280280
If you'd like to change how the page is created, e.g. to use a different page
281281
type, pass non-default parameters when creating the page (like a custom key) or
282-
access the `GoRouteState` object, you can override the `buildPageWithState`
282+
access the `GoRouteState` object, you can override the `buildPage`
283283
method of the base class instead of the `build` method:
284284

285285
```dart
286286
class MyMaterialRouteWithKey extends GoRouteData {
287287
static final _key = LocalKey('my-route-with-key');
288288
@override
289-
MaterialPage<void> buildPageWithState(BuildContext context, GoRouterState state) =>
289+
MaterialPage<void> buildPage(BuildContext context, GoRouterState state) =>
290290
MaterialPage<void>(
291291
key: _key,
292292
child: MyPage(),
@@ -296,12 +296,12 @@ class MyMaterialRouteWithKey extends GoRouteData {
296296

297297
### Custom transitions
298298

299-
Overriding the `buildPageWithState` method is also useful for custom transitions:
299+
Overriding the `buildPage` method is also useful for custom transitions:
300300

301301
```dart
302302
class FancyRoute extends GoRouteData {
303303
@override
304-
MaterialPage<void> buildPageWithState(BuildContext context, GoRouterState state) =>
304+
MaterialPage<void> buildPage(BuildContext context, GoRouterState state) =>
305305
CustomTransitionPage<void>(
306306
key: state.pageKey,
307307
child: FancyPage(),

packages/go_router_builder/example/lib/all_types.dart

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ class AllTypesBaseRoute extends GoRouteData {
3030
const AllTypesBaseRoute();
3131

3232
@override
33-
Widget build(BuildContext context) => const BasePage<void>(
33+
Widget build(BuildContext context, GoRouterState state) =>
34+
const BasePage<void>(
3435
dataTitle: 'Root',
3536
param: null,
3637
);
@@ -46,7 +47,7 @@ class BigIntRoute extends GoRouteData {
4647
final BigInt? bigIntField;
4748

4849
@override
49-
Widget build(BuildContext context) => BasePage<BigInt>(
50+
Widget build(BuildContext context, GoRouterState state) => BasePage<BigInt>(
5051
dataTitle: 'BigIntRoute',
5152
param: requiredBigIntField,
5253
queryParam: bigIntField,
@@ -69,7 +70,7 @@ class BoolRoute extends GoRouteData {
6970
final bool? boolField;
7071

7172
@override
72-
Widget build(BuildContext context) => BasePage<bool>(
73+
Widget build(BuildContext context, GoRouterState state) => BasePage<bool>(
7374
dataTitle: 'BoolRoute',
7475
param: requiredBoolField,
7576
queryParam: boolField,
@@ -92,7 +93,7 @@ class DateTimeRoute extends GoRouteData {
9293
final DateTime? dateTimeField;
9394

9495
@override
95-
Widget build(BuildContext context) => BasePage<DateTime>(
96+
Widget build(BuildContext context, GoRouterState state) => BasePage<DateTime>(
9697
dataTitle: 'DateTimeRoute',
9798
param: requiredDateTimeField,
9899
queryParam: dateTimeField,
@@ -115,7 +116,7 @@ class DoubleRoute extends GoRouteData {
115116
final double? doubleField;
116117

117118
@override
118-
Widget build(BuildContext context) => BasePage<double>(
119+
Widget build(BuildContext context, GoRouterState state) => BasePage<double>(
119120
dataTitle: 'DoubleRoute',
120121
param: requiredDoubleField,
121122
queryParam: doubleField,
@@ -138,7 +139,7 @@ class IntRoute extends GoRouteData {
138139
final int? intField;
139140

140141
@override
141-
Widget build(BuildContext context) => BasePage<int>(
142+
Widget build(BuildContext context, GoRouterState state) => BasePage<int>(
142143
dataTitle: 'IntRoute',
143144
param: requiredIntField,
144145
queryParam: intField,
@@ -161,7 +162,7 @@ class NumRoute extends GoRouteData {
161162
final num? numField;
162163

163164
@override
164-
Widget build(BuildContext context) => BasePage<num>(
165+
Widget build(BuildContext context, GoRouterState state) => BasePage<num>(
165166
dataTitle: 'NumRoute',
166167
param: requiredNumField,
167168
queryParam: numField,
@@ -184,7 +185,8 @@ class EnumRoute extends GoRouteData {
184185
final PersonDetails? enumField;
185186

186187
@override
187-
Widget build(BuildContext context) => BasePage<PersonDetails>(
188+
Widget build(BuildContext context, GoRouterState state) =>
189+
BasePage<PersonDetails>(
188190
dataTitle: 'EnumRoute',
189191
param: requiredEnumField,
190192
queryParam: enumField,
@@ -207,7 +209,8 @@ class EnhancedEnumRoute extends GoRouteData {
207209
final SportDetails? enumField;
208210

209211
@override
210-
Widget build(BuildContext context) => BasePage<SportDetails>(
212+
Widget build(BuildContext context, GoRouterState state) =>
213+
BasePage<SportDetails>(
211214
dataTitle: 'EnhancedEnumRoute',
212215
param: requiredEnumField,
213216
queryParam: enumField,
@@ -230,7 +233,7 @@ class StringRoute extends GoRouteData {
230233
final String? stringField;
231234

232235
@override
233-
Widget build(BuildContext context) => BasePage<String>(
236+
Widget build(BuildContext context, GoRouterState state) => BasePage<String>(
234237
dataTitle: 'StringRoute',
235238
param: requiredStringField,
236239
queryParam: stringField,
@@ -253,7 +256,7 @@ class UriRoute extends GoRouteData {
253256
final Uri? uriField;
254257

255258
@override
256-
Widget build(BuildContext context) => BasePage<Uri>(
259+
Widget build(BuildContext context, GoRouterState state) => BasePage<Uri>(
257260
dataTitle: 'UriRoute',
258261
param: requiredUriField,
259262
queryParam: uriField,

packages/go_router_builder/example/lib/main.dart

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class HomeRoute extends GoRouteData {
8383
const HomeRoute();
8484

8585
@override
86-
Widget build(BuildContext context) => const HomeScreen();
86+
Widget build(BuildContext context, GoRouterState state) => const HomeScreen();
8787
}
8888

8989
@TypedGoRoute<LoginRoute>(
@@ -95,7 +95,8 @@ class LoginRoute extends GoRouteData {
9595
final String? fromPage;
9696

9797
@override
98-
Widget build(BuildContext context) => LoginScreen(from: fromPage);
98+
Widget build(BuildContext context, GoRouterState state) =>
99+
LoginScreen(from: fromPage);
99100
}
100101

101102
class FamilyRoute extends GoRouteData {
@@ -104,7 +105,8 @@ class FamilyRoute extends GoRouteData {
104105
final String fid;
105106

106107
@override
107-
Widget build(BuildContext context) => FamilyScreen(family: familyById(fid));
108+
Widget build(BuildContext context, GoRouterState state) =>
109+
FamilyScreen(family: familyById(fid));
108110
}
109111

110112
class PersonRoute extends GoRouteData {
@@ -114,7 +116,7 @@ class PersonRoute extends GoRouteData {
114116
final int pid;
115117

116118
@override
117-
Widget build(BuildContext context) {
119+
Widget build(BuildContext context, GoRouterState state) {
118120
final Family family = familyById(fid);
119121
final Person person = family.person(pid);
120122
return PersonScreen(family: family, person: person);
@@ -130,7 +132,7 @@ class PersonDetailsRoute extends GoRouteData {
130132
final int? $extra;
131133

132134
@override
133-
Page<void> buildPageWithState(BuildContext context, GoRouterState state) {
135+
Page<void> buildPage(BuildContext context, GoRouterState state) {
134136
final Family family = familyById(fid);
135137
final Person person = family.person(pid);
136138

packages/go_router_builder/example/lib/simple_example.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class HomeRoute extends GoRouteData {
3636
const HomeRoute();
3737

3838
@override
39-
Widget build(BuildContext context) => const HomeScreen();
39+
Widget build(BuildContext context, GoRouterState state) => const HomeScreen();
4040
}
4141

4242
class FamilyRoute extends GoRouteData {
@@ -45,7 +45,7 @@ class FamilyRoute extends GoRouteData {
4545
final String familyId;
4646

4747
@override
48-
Widget build(BuildContext context) =>
48+
Widget build(BuildContext context, GoRouterState state) =>
4949
FamilyScreen(family: familyById(familyId));
5050
}
5151

packages/go_router_builder/example/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ environment:
88
dependencies:
99
flutter:
1010
sdk: flutter
11-
go_router: ^5.0.0
11+
go_router: ^6.0.0
1212
provider: ^6.0.0
1313

1414
dev_dependencies:

packages/go_router_builder/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: go_router_builder
22
description: >-
33
A builder that supports generated strongly-typed route helpers for
44
package:go_router
5-
version: 1.0.15
5+
version: 1.0.16
66
repository: https://github.com/flutter/packages/tree/main/packages/go_router_builder
77
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router_builder%22
88

0 commit comments

Comments
 (0)