Skip to content

Commit 11c6f0e

Browse files
app [nfc]: Pull out _handleGenerateInitialRoutes
1 parent 9276cf0 commit 11c6f0e

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

lib/widgets/app.dart

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

155+
InitialRouteListFactory _handleGenerateInitialRoutes(BuildContext context) {
156+
final globalStore = GlobalStoreWidget.of(context);
157+
158+
return (_) {
159+
// TODO(#524) choose initial account as last one used
160+
final initialAccountId = globalStore.accounts.firstOrNull?.id;
161+
return [
162+
if (initialAccountId == null)
163+
MaterialWidgetRoute(page: const ChooseAccountPage())
164+
else
165+
HomePage.buildRoute(accountId: initialAccountId),
166+
];
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,7 @@ 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: _handleGenerateInitialRoutes(context));
217222
}));
218223
}
219224
}

0 commit comments

Comments
 (0)