getInitialRoute function
Gets initial route based on the authToken status
Implementation
Future<String> getInitialRoute({required BuildContext context}) async {
final CoreState state = StoreProvider.state<CoreState>(context)!;
// This will always be false
final bool? signedIn = state.userState!.isSignedIn;
await StoreProvider.dispatch<CoreState>(
context,
BatchUpdateUserStateAction(
inActivitySetInTime: DateTime.now().toIso8601String()),
);
if (signedIn == true) {
/// Check inactivity time
final AuthTokenStatus tokenStatus = await getAuthTokenStatus(
context: context,
);
switch (tokenStatus) {
case AuthTokenStatus.requiresLogin:
return phoneLoginRoute;
case AuthTokenStatus.requiresPin:
return pinVerificationRoute;
default: // Happy case => Get the onboarding path and
}
return onboardingPath(state: state).route;
}
return landingPageRoute;
}