showWebViewDialog static method

Future<WidgetResult?> showWebViewDialog(
  1. BuildContext context,
  2. String? title,
  3. String initialUrl,
  4. String? jsToInject,
)

Implementation

static Future<WidgetResult?> showWebViewDialog(BuildContext context, String? title, String initialUrl, String? jsToInject) {
  return showGeneralDialog(
    context: context,
    barrierDismissible: false,
    barrierColor: Colors.black,
    transitionDuration: const Duration(milliseconds: 300),
    pageBuilder: (
      BuildContext dialogContext,
      Animation<double> animation,
      Animation<double> secondaryAnimation,
    ) {
      return Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.white,
          automaticallyImplyLeading: false,
          title: title != null ? Text(title) : null,
          actions: [
          IconButton(
            icon: const Icon(Icons.close),
            onPressed: () {
              final webViewState = _webViewKey.currentState;
              final result = webViewState?.lastResult;
              Navigator.of(dialogContext).pop(WidgetResult.success(result));
            },
          ),
        ],
        ),
        body: BasicWebViewWidget(key: _webViewKey, initialUrl: initialUrl, jsToInject: jsToInject),
      );
    },
  );
}