selectRootPage method

Widget selectRootPage({
  1. required Widget rootPage,
  2. required Widget? homePage,
  3. required Widget splashPage,
  4. required dynamic previousVersionPage,
  5. required Widget onGoingPage,
})

Implementation

Widget selectRootPage({required Widget rootPage, required  Widget? homePage,
  required  Widget splashPage, required  previousVersionPage, required  Widget onGoingPage}) {

  if(!Sint.isRegistered<LoginService>() || !Sint.isRegistered<UserService>()) {
    return rootPage;
  }

  final loginServiceImpl = Sint.find<LoginService>();

  authStatus = loginServiceImpl.getAuthStatus();
  if(authStatus == AuthStatus.waiting) {
    return splashPage;
  } else if (lastStableBuild > buildNumber) {
    rootPage = previousVersionPage;
  } else if(AppHiveController().firstTime) {
    rootPage = onGoingPage;
    AppHiveController().setFirstTime(false);
  } else if(authStatus == AuthStatus.loggingIn) {
    rootPage = splashPage;
  } else if (homePage != null
      && (authStatus == AuthStatus.loggedIn || isGuestMode)) {
    rootPage = homePage;
  }

  return rootPage;
}