diff --git a/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart b/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart index 825a6056..40c14a58 100644 --- a/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart +++ b/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart @@ -130,10 +130,8 @@ class _BottomArrowLinkedLocalsComponentWidgetState hoverColor: Colors.transparent, highlightColor: Colors.transparent, onTap: () async { - - if ( - linkedLocals.any((local) => local['CLU_STATUS'] == "A") - ) { + if (localItem['CLU_STATUS'] == 'A') { + FFAppState().cliUUID = localItem['CLI_ID']; setState(() {}); FFAppState().local = localItem['CLI_NOME']; 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 576fe8f1..556fc661 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -1,10 +1,12 @@ import 'dart:developer'; import 'package:f_r_e_hub/app_state.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'package:webview_flutter/webview_flutter.dart'; - +import 'dart:io' show Platform; import '/flutter_flow/flutter_flow_util.dart'; class FastPassPageWidget extends StatefulWidget { @@ -18,14 +20,13 @@ class FastPassPageWidget extends StatefulWidget { final String clientId = FFAppState().cliUUID; - // const FastPassPageWidget({ Key? key,}) : super(key: key); - @override _FastPassPageWidgetState createState() => _FastPassPageWidgetState(); } class _FastPassPageWidgetState extends State { - late WebViewController _controller; + late InAppWebViewController _controllerIOS; + late WebViewController _controllerAll; late String url; late String name; late String email; @@ -39,54 +40,45 @@ class _FastPassPageWidgetState extends State { email = FFAppState().email; userUUID = FFAppState().userUUID; created_at = FFAppState().createdAt; - - // url = 'https://hub.freaccess.com.br/hub/fast-pass/7'; url = 'https://hub.freaccess.com.br/hub/fast-pass/${widget.clientId}'; } @override Widget build(BuildContext context) { + + return SafeArea( child: Scaffold( - body: WebViewWidget( - controller: _controller = WebViewController() + body: Platform.isIOS ? InAppWebView( + initialUrlRequest: URLRequest(url: WebUri(url)), + initialSettings: InAppWebViewSettings( + allowsBackForwardNavigationGestures: true, + javaScriptEnabled: true, + ), + onWebViewCreated: (controller) async { + _controllerIOS = controller; + }, + onLoadStop: (controller, url) async { + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-token', '\"${widget.freToken}\"')"); + await controller.evaluateJavascript(source: "window.localStorage.setItem('fre-user-data', '${widget.freUserData}')"); + }, + ) : WebViewWidget( + controller: _controllerAll = WebViewController() ..clearCache() ..clearLocalStorage() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setBackgroundColor(const Color(0x00000000)) - ..setOnConsoleMessage((message) { - log('Console: ${message.message}'); - }) ..setNavigationDelegate( NavigationDelegate( onProgress: (int progress) {}, onPageStarted: (String url) { - log('Page started: $url'); - final String token = - "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; + final String token = "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; + final String data = "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; - _controller.runJavaScript(token); - _controller - .runJavaScript('console.log("fre-token: $token");'); - - final String data = - "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; - - _controller.runJavaScript(data); - _controller - .runJavaScript('console.log("fre-user-data: $data");'); - final String command = - 'Object.entries(localStorage).forEach(([ key, value ]) => console.log(key+" => "+value) );'; - _controller.runJavaScript(command); - }, - onPageFinished: (String url) { - log('Page finished: $url'); - }, - onWebResourceError: (WebResourceError error) { - log('Error: ${error.description}'); + _controllerAll.runJavaScript(token); + _controllerAll.runJavaScript(data); }, onNavigationRequest: (NavigationRequest request) { - log('Request: ${request.url}'); if (request.url.startsWith('http') || request.url.startsWith('https://api.whatsapp.com/send') || request.url.startsWith('https://wa.me')) { @@ -101,5 +93,6 @@ class _FastPassPageWidgetState extends State { ), ), ); + } } diff --git a/pubspec.yaml b/pubspec.yaml index 48f62948..acc1ff68 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -29,7 +29,7 @@ dependencies: barcode_widget: 2.0.3 cached_network_image: 3.3.1 firebase_core: 3.1.0 - flutter_inappwebview: 6.0.0 + flutter_inappwebview: ^6.0.0 webview_flutter: ^4.8.0 rxdart: ^0.27.7 collection: 1.18.0