evaluateRedirect method

  1. @override
Future<String?> evaluateRedirect(
  1. BuildContext context,
  2. GoRouterState state
)
override

Implementation

@override
Future<String?> evaluateRedirect(
  BuildContext context,
  GoRouterState state,
) async {
  final identityService = context.read<identity.IdentityService>();

  String? redirectTo;
  if (!identityService.state.isSignUpInProgress &&
      !identityService.state.needsSignUpConfirmation) {
    // navigate back to the sign-in
    // with error message as sign-up
    // is not in progress
    identityService.addStateMessage(
      app.Message.error(
        context.l10n.signUpNotInProgressMessage,
      ),
    );

    await identityService.clearAwaitingVerification();
    redirectTo = SignInWidget.name;
  }
  return redirectTo;
}