diff --git a/lib/pages/fast_pass_page/fast_pass_page_widget.dart b/lib/pages/fast_pass_page/fast_pass_page_widget.dart index be53a767..3f2b66fb 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -18,7 +18,8 @@ class FastPassPageWidget extends StatefulWidget { } class _FastPassPageWidgetState extends State { - late WebViewController _controllerAll; + late WebViewController _controllerAndroid; + late InAppWebViewController _controllerIOS; Future> initVariables() async { final email = StorageUtil().email; @@ -67,31 +68,19 @@ class _FastPassPageWidgetState extends State { return Platform.isIOS ? InAppWebView( initialUrlRequest: URLRequest(url: WebUri(url)), - initialSettings: InAppWebViewSettings( - allowsBackForwardNavigationGestures: true, - javaScriptEnabled: true, - ), - onWebViewCreated: (controller) async { - }, + initialSettings: InAppWebViewSettings(allowsBackForwardNavigationGestures: true, javaScriptEnabled: true,), + onWebViewCreated: (controller) async => _controllerIOS = controller, onLoadStop: (controller, url) async { - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-token', '\"$userUUID\"')"); - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('fre-user-data', '$freUserData')"); - await controller.evaluateJavascript( - source: - "window.localStorage.setItem('enableBackButton', 'true')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-token', '\"$userUUID\"')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-user-data', '$freUserData')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('enableBackButton', 'true')"); }, onUpdateVisitedHistory: (controller, uri, isVisited) { - if (uri.toString().contains('/hub/home')) { - context.pop(); - } + if (uri.toString().contains('/hub/home')) context.pop(); }, ) : WebViewWidget( - controller: _controllerAll = WebViewController() + controller: _controllerAndroid = WebViewController() ..clearCache() ..clearLocalStorage() ..setJavaScriptMode(JavaScriptMode.unrestricted) @@ -100,43 +89,35 @@ class _FastPassPageWidgetState extends State { NavigationDelegate( onProgress: (int progress) {}, onPageStarted: (String url) { - final String token = - "localStorage.setItem('fre-token', '\"$userUUID\"');"; - final String data = - "localStorage.setItem('fre-user-data', '$freUserData');"; - const String backNavigation = - "localStorage.setItem('enableBackButton', 'true');"; + final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');"; + final String data = "localStorage.setItem('fre-user-data', '$freUserData');"; + const String backNavigation = "localStorage.setItem('enableBackButton', 'true');"; - _controllerAll.runJavaScript(token); - _controllerAll.runJavaScript(data); - _controllerAll.runJavaScript(backNavigation); + _controllerAndroid.runJavaScript(token); + _controllerAndroid.runJavaScript(data); + _controllerAndroid.runJavaScript(backNavigation); }, onPageFinished: (String url) { bool isDarkMode = SchedulerBinding .instance .platformDispatcher - .platformBrightness == - Brightness.dark; + .platformBrightness == Brightness.dark; if (isDarkMode) { - _controllerAll.runJavaScript( - WebviewUtil.jsEnableDarkMode); + _controllerAndroid.runJavaScript(WebviewUtil.jsEnableDarkMode); } }, onNavigationRequest: (NavigationRequest request) { if (request.url.startsWith('http') || - request.url.startsWith( - 'https://api.whatsapp.com/send') || + request.url.startsWith('https://api.whatsapp.com/send') || request.url.startsWith('https://wa.me')) { - launchUrlString(request.url); - return NavigationDecision.prevent; - } + launchUrlString(request.url); + return NavigationDecision.prevent; + } return NavigationDecision.prevent; }, onUrlChange: (url) { - if (url.url.toString().contains('/hub/home')) { - context.pop(); - } + if (url.url.toString().contains('/hub/home')) context.pop(); }), ) ..loadRequest(Uri.parse(url)),