start static method

Future? start({
  1. Key? key,
  2. GlobalKey<BaseWebViewState<BaseWebView>>? globalKey,
  3. required BuildContext context,
  4. required BaseConfiguration configuration,
})

Implementation

static Future? start({
  Key? key,
  GlobalKey<BaseWebViewState>? globalKey,
  required BuildContext context,
  required BaseConfiguration configuration,
}) {
  assert(
      !kIsWeb ||
          (kIsWeb &&
              configuration.onSuccessRedirect != null &&
              configuration.onError != null &&
              configuration.onCancel != null),
      'You must set onSuccessRedirect, onError and onCancel function when running on Web otherwise you will not get any result.');
  if (kIsWeb) {
    final baseFlow = BaseFlow()
      ..init(
        initialUri: Uri.parse(configuration.initialUrl),
        redirectUrls: configuration.redirectUrls,
        onSuccessRedirect: configuration.onSuccessRedirect,
        onError: configuration.onError,
        onCancel: configuration.onCancel,
      );
    baseFlow.onNavigateTo(OAuthWebAuth.instance.appBaseUrl);
    return null;
  }
  return Navigator.push(
      context,
      MaterialPageRoute(
          builder: (context) => BaseWebScreen(
                key: key,
                globalKey: globalKey,
                configuration: configuration,
              )));
}