fix(doc): update the use of GoRouter in the guides

This commit is contained in:
Efthymis Sarmpanis
2023-11-02 11:46:33 +02:00
parent 354ae323b2
commit 2de5b3eaa6
@@ -489,47 +489,51 @@ class _MyAppState extends State<MyApp> {
late final _router = GoRouter( late final _router = GoRouter(
initialLocation: '/', initialLocation: '/',
navigatorBuilder: (context, state, child) {
if (state.location.startsWith('/chat')) {
wasPreviousRouteChat = true;
return StreamChat(
client: _client,
child: ChatSetup(client: _client, child: child),
);
} else {
if (wasPreviousRouteChat) {
wasPreviousRouteChat = false;
return StreamChat(
client: _client,
child: child,
);
} else {
return child;
}
}
},
routes: [ routes: [
GoRoute( ShellRoute(
path: '/', builder: (context, state, child) {
builder: (context, state) => const HomeScreen(), if (state.uri.host.startsWith('/chat')) {
wasPreviousRouteChat = true;
return StreamChat(
client: _client,
child: ChatSetup(client: _client, child: child),
);
} else {
if (wasPreviousRouteChat) {
wasPreviousRouteChat = false;
return StreamChat(
client: _client,
child: child,
);
} else {
return child;
}
}
},
routes: [ routes: [
GoRoute( GoRoute(
path: 'settings', path: '/',
builder: (context, state) => const SettingsPage(), builder: (context, state) => const HomeScreen(),
),
GoRoute(
path: 'chat',
builder: (context, state) => const ChannelListPage(),
routes: [ routes: [
GoRoute( GoRoute(
path: 'channel', path: 'settings',
builder: (context, state) { builder: (context, state) => const SettingsPage(),
final channel = state.extra as Channel; ),
return StreamChannel( GoRoute(
channel: channel, path: 'chat',
child: const ChannelPage(), builder: (context, state) => const ChannelListPage(),
); routes: [
}, GoRoute(
path: 'channel',
builder: (context, state) {
final channel = state.extra as Channel;
return StreamChannel(
channel: channel,
child: const ChannelPage(),
);
},
),
],
), ),
], ],
), ),