showCustomNotification static method

void showCustomNotification({
  1. required String? titleNotification,
  2. required String messageNotification,
  3. required String url,
})

Implementation

static void showCustomNotification({
  required String? titleNotification,
  required String messageNotification,
  required String url,
}) async {
  final currentState = InngageProperties.navigatorKey.currentState;
  if (currentState != null) {
    currentState.push(
      MaterialPageRoute(builder: (context) {
        WebViewController controller = WebViewController()
          ..setJavaScriptMode(
              InngageProperties.inngageWebViewProperties.withJavascript
                  ? JavaScriptMode.unrestricted
                  : JavaScriptMode.disabled)
          ..enableZoom(InngageProperties.inngageWebViewProperties.withZoom)
          ..setNavigationDelegate(
            NavigationDelegate(
              onProgress: (int progress) {
                // Update loading bar.
              },
              onPageStarted: (String url) {},
              onPageFinished: (String url) {},
              onWebResourceError: (WebResourceError error) {},
              onNavigationRequest: (NavigationRequest request) {
                if (request.url.startsWith(url)) {
                  return NavigationDecision.prevent;
                }
                return NavigationDecision.navigate;
              },
            ),
          )
          ..loadRequest(Uri.parse(url));

        return Scaffold(
            appBar: AppBar(
              title: InngageProperties.inngageWebViewProperties.appBarText,
            ),
            body: WebViewWidget(
              controller: controller,
            ));
      }),
    );
  }
}