in nav2-usability/scenario_code/lib/sign-in-routing/router.dart [210:250]
Widget build(BuildContext context) {
final viewingSignIn = _appState.isViewingSignIn;
final viewingBooksScreen = _appState.isViewingBooks;
return Navigator(
key: navigatorKey,
pages: [
if (viewingSignIn)
MaterialPage(
key: ValueKey('SignInScreen'),
child: SignInScreen(
onSignedIn: _handleSignedIn,
),
)
else ...[
MaterialPage(
key: ValueKey('HomeScreen'),
child: HomeScreen(
onGoToBooks: _handleGoToBooks,
onSignOut: _handleSignOut,
),
),
if (viewingBooksScreen)
MaterialPage(
key: ValueKey('BooksListPage'),
child: BooksListScreen(),
),
]
],
onPopPage: (route, result) {
if (!route.didPop(result)) {
return false;
}
if (_appState.isViewingBooks) {
_appState.isViewingBooks = false;
}
return true;
},
);
}