Skip to content

Commit 29a1c6a

Browse files
app [nfc]: Pull out _handleGenerateInitialRoutes
1 parent acf7ab5 commit 29a1c6a

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

lib/widgets/app.dart

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,21 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
152152
super.dispose();
153153
}
154154

155+
List<Route<dynamic>> _handleGenerateInitialRoutes(
156+
BuildContext context,
157+
String initialRoute,
158+
) {
159+
// TODO(#524) choose initial account as last one used
160+
final globalStore = GlobalStoreWidget.of(context);
161+
final initialAccountId = globalStore.accounts.firstOrNull?.id;
162+
return [
163+
if (initialAccountId == null)
164+
MaterialWidgetRoute(page: const ChooseAccountPage())
165+
else
166+
HomePage.buildRoute(accountId: initialAccountId),
167+
];
168+
}
169+
155170
Future<void> _handleInitialRoute() async {
156171
final initialRouteUrl = Uri.parse(WidgetsBinding.instance.platformDispatcher.defaultRouteName);
157172
if (initialRouteUrl case Uri(scheme: 'zulip', host: 'notification')) {
@@ -177,7 +192,6 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
177192
final themeData = zulipThemeData(context);
178193
return GlobalStoreWidget(
179194
child: Builder(builder: (context) {
180-
final globalStore = GlobalStoreWidget.of(context);
181195
return MaterialApp(
182196
title: 'Zulip',
183197
localizationsDelegates: ZulipLocalizations.localizationsDelegates,
@@ -204,16 +218,8 @@ class _ZulipAppState extends State<ZulipApp> with WidgetsBindingObserver {
204218
// like [Navigator.push], never mere names as with [Navigator.pushNamed].
205219
onGenerateRoute: (_) => null,
206220

207-
onGenerateInitialRoutes: (_) {
208-
// TODO(#524) choose initial account as last one used
209-
final initialAccountId = globalStore.accounts.firstOrNull?.id;
210-
return [
211-
if (initialAccountId == null)
212-
MaterialWidgetRoute(page: const ChooseAccountPage())
213-
else
214-
HomePage.buildRoute(accountId: initialAccountId),
215-
];
216-
});
221+
onGenerateInitialRoutes: (initialRoute) =>
222+
_handleGenerateInitialRoutes(context, initialRoute));
217223
}));
218224
}
219225
}

0 commit comments

Comments
 (0)