1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-01 08:31:59 +00:00

fix(mobile) back button navigation Android

fixes #310 back button navigation
This commit is contained in:
Alex 2022-10-19 14:51:48 -05:00 committed by GitHub
commit d6d525cc1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View file

@ -228,7 +228,7 @@ class LoginButton extends ConsumerWidget {
AutoRouter.of(context).push(const ChangePasswordRoute());
} else {
ref.watch(backupProvider.notifier).resumeBackup();
AutoRouter.of(context).pushNamed("/tab-controller-page");
AutoRouter.of(context).replace(const TabControllerRoute());
}
} else {
ImmichToast.show(

View file

@ -29,9 +29,9 @@ class SplashScreenPage extends HookConsumerWidget {
if (isAuthenticated) {
// Resume backup (if enable) then navigate
ref.watch(backupProvider.notifier).resumeBackup();
AutoRouter.of(context).pushNamed("/tab-controller-page");
AutoRouter.of(context).replace(const TabControllerRoute());
} else {
AutoRouter.of(context).push(const LoginRoute());
AutoRouter.of(context).replace(const LoginRoute());
}
}
@ -40,7 +40,7 @@ class SplashScreenPage extends HookConsumerWidget {
if (loginInfo?.isSaveLogin == true) {
performLoggingIn();
} else {
AutoRouter.of(context).push(const LoginRoute());
AutoRouter.of(context).replace(const LoginRoute());
}
return null;
},

View file

@ -12,7 +12,6 @@ class TabControllerPage extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final multiselectEnabled = ref.watch(multiselectProvider);
return AutoTabsRouter(
routes: [
const HomeRoute(),
@ -22,9 +21,17 @@ class TabControllerPage extends ConsumerWidget {
],
builder: (context, child, animation) {
final tabsRouter = AutoTabsRouter.of(context);
final appRouter = AutoRouter.of(context);
return WillPopScope(
onWillPop: () async {
tabsRouter.setActiveIndex(0);
if (tabsRouter.activeIndex == 0) {
if (!appRouter.canNavigateBack) {
appRouter.navigateBack();
}
return appRouter.canNavigateBack;
} else {
tabsRouter.setActiveIndex(0);
}
return false;
},
child: Scaffold(