selectRootPage method
Widget
selectRootPage(
{ - required Widget rootPage,
- required Widget? homePage,
- required Widget splashPage,
- required dynamic previousVersionPage,
- required Widget onGoingPage,
})
Implementation
Widget selectRootPage({required Widget rootPage, required Widget? homePage,
required Widget splashPage, required previousVersionPage, required Widget onGoingPage}) {
if(!Get.isRegistered<LoginService>() || !Get.isRegistered<UserService>()) {
return rootPage;
}
final loginServiceImpl = Get.find<LoginService>();
final userServiceImpl = Get.find<UserService>();
authStatus.value = loginServiceImpl.getAuthStatus();
if(authStatus.value == AuthStatus.waiting) {
return splashPage;
} else if (lastStableBuild > buildNumber) {
rootPage = previousVersionPage;
} else if(AppHiveController().firstTime) {
rootPage = onGoingPage;
AppHiveController().setFirstTime(false);
} else if(authStatus.value == AuthStatus.loggingIn) {
rootPage = splashPage;
} else if (homePage != null
&& authStatus.value == AuthStatus.loggedIn
&& (userServiceImpl.user.id.isNotEmpty)
&& ((userServiceImpl.user.profiles.isNotEmpty)
&& (userServiceImpl.user.profiles.first.id.isNotEmpty))) {
rootPage = homePage;
}
return rootPage;
}