From f2fa9b133660e786e6498e0daa1ca29e08669d0a Mon Sep 17 00:00:00 2001 From: jantunesmesias Date: Tue, 27 Aug 2024 17:42:14 -0300 Subject: [PATCH] WIP --- .../fast_pass_page/fast_pass_page_widget.dart | 56 ++++----- lib/pages/home_page/home_page_widget.dart | 118 +++++++++--------- .../preferences_settings_model.dart | 6 +- .../preferences_settings_widget.dart | 1 - 4 files changed, 88 insertions(+), 93 deletions(-) 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 1ffbe865..71780ff2 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -65,11 +65,11 @@ class _FastPassPageWidgetState extends State { source: "window.localStorage.setItem('enableBackButton', 'true')"); }, - onUpdateVisitedHistory: (controller, uri, isVisited) { - if (uri.toString().contains('/hub/home')) { - Navigator.pop(context); - } - }, + onUpdateVisitedHistory: (controller, uri, isVisited) { + if (uri.toString().contains('/hub/home')) { + Navigator.pop(context); + } + }, ) : WebViewWidget( controller: _controllerAll = WebViewController() @@ -79,36 +79,34 @@ class _FastPassPageWidgetState extends State { ..setBackgroundColor(const Color(0x00000000)) ..setNavigationDelegate( NavigationDelegate( - onProgress: (int progress) {}, - onPageStarted: (String url) { - final String token = - "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; - final String data = - "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; - const String backNavigation = - "localStorage.setItem('enableBackButton', 'true');"; + onProgress: (int progress) {}, + onPageStarted: (String url) { + final String token = + "localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; + final String data = + "localStorage.setItem('fre-user-data', '${widget.freUserData}');"; + const String backNavigation = + "localStorage.setItem('enableBackButton', 'true');"; - _controllerAll.runJavaScript(token); - _controllerAll.runJavaScript(data); - _controllerAll.runJavaScript(backNavigation); - }, - onNavigationRequest: (NavigationRequest request) { - if (request.url.startsWith('http') || - request.url - .startsWith('https://api.whatsapp.com/send') || - request.url.startsWith('https://wa.me')) { - launchUrlString(request.url); + _controllerAll.runJavaScript(token); + _controllerAll.runJavaScript(data); + _controllerAll.runJavaScript(backNavigation); + }, + onNavigationRequest: (NavigationRequest request) { + if (request.url.startsWith('http') || + request.url.startsWith( + 'https://api.whatsapp.com/send') || + request.url.startsWith('https://wa.me')) { + launchUrlString(request.url); + return NavigationDecision.prevent; + } return NavigationDecision.prevent; - } - return NavigationDecision.prevent; - }, + }, onUrlChange: (url) { if (url.url.toString().contains('/hub/home')) { Navigator.pop(context); } - } - ), - + }), ) ..loadRequest(Uri.parse(url)), ), diff --git a/lib/pages/home_page/home_page_widget.dart b/lib/pages/home_page/home_page_widget.dart index 0dbd7ff1..61b0243a 100644 --- a/lib/pages/home_page/home_page_widget.dart +++ b/lib/pages/home_page/home_page_widget.dart @@ -27,98 +27,96 @@ class HomePageWidget extends StatefulWidget { class _HomePageWidgetState extends State { late HomePageModel _model; final scaffoldKey = GlobalKey(); + LocalProfileComponentWidget _localProfileComponentWidget = + const LocalProfileComponentWidget(); - Future checkData() async { - final response = await PhpGroup.getDadosCall.call( - devUUID: AppState().devUUID, - userUUID: AppState().userUUID, - cliUUID: AppState().cliUUID, - atividade: 'getDados', - ); + Future checkData() async { + try { + final response = await PhpGroup.getDadosCall.call( + devUUID: AppState().devUUID, + userUUID: AppState().userUUID, + cliUUID: AppState().cliUUID, + atividade: 'getDados', + ); - switch (response.statusCode) { - case 200: + if (response.statusCode == 200) { if (response.jsonBody['error'] == false) { AppState().whatsapp = response.jsonBody['whatsapp']; AppState().provisional = response.jsonBody['provisional']; AppState().name = response.jsonBody['visitado']['VDO_NOME']; + safeSetState(() {}); } else { - if (response.jsonBody['error_msg'] != + final errorMsg = response.jsonBody['error_msg']; + if (errorMsg != r'''Usuario nao possui vinculo ativo com esse condominio''') { - log(response.jsonBody['error_msg']); + log(errorMsg); await DialogUtil.warningDefault(context) .whenComplete(() => checkData()); + safeSetState(() {}); } } - break; - default: + } else { await DialogUtil.warningDefault(context) .whenComplete(() => checkData()); - safeSetState(() {}); - break; + } + } catch (e) { + log('Error in checkData: $e'); + await DialogUtil.warningDefault(context).whenComplete(() => checkData()); } } - Future checkLocal() async { - final response = await PhpGroup.getLocalsCall.call( - devUUID: AppState().devUUID, - userUUID: AppState().userUUID, - ); - log(response.jsonBody.toString()); - List locals = response.jsonBody['locais'] ?? []; + Future checkLocal() async { + try { + final response = await PhpGroup.getLocalsCall.call( + devUUID: AppState().devUUID, + userUUID: AppState().userUUID, + ); + log(response.jsonBody.toString()); - final activeLocals = - locals.where((local) => local['CLU_STATUS'] == 'A').toList(); - log("activeLocals $activeLocals"); - if (activeLocals.isEmpty) { - await showModalBottomSheet( - isScrollControlled: true, - backgroundColor: Colors.transparent, - enableDrag: false, - isDismissible: false, - context: context, - builder: (context) => Padding( - padding: MediaQuery.viewInsetsOf(context), - child: const BottomArrowLinkedLocalsComponentWidget(), - ), - ).then((_) => checkData()); - } else if (AppState().cliUUID.isEmpty) { - showModalBottomSheet( - isScrollControlled: true, - backgroundColor: Colors.transparent, - enableDrag: false, - isDismissible: false, - context: context, - builder: (context) { - return Padding( - padding: MediaQuery.viewInsetsOf(context), - child: const BottomArrowLinkedLocalsComponentWidget(), - ); - }, - ).then((_) => checkData()); + List locals = response.jsonBody['locais'] ?? []; + final activeLocals = + locals.where((local) => local['CLU_STATUS'] == 'A').toList(); + log("activeLocals $activeLocals"); + + if (activeLocals.isEmpty || AppState().cliUUID.isEmpty) { + await showBottomSheet().then((_) => checkData()); + } + } catch (e) { + log('Error in checkLocal: $e'); + await showBottomSheet().then((_) => checkData()); } } + Future showBottomSheet() async { + await showModalBottomSheet( + isScrollControlled: true, + backgroundColor: Colors.transparent, + enableDrag: false, + isDismissible: false, + context: context, + builder: (context) => Padding( + padding: MediaQuery.viewInsetsOf(context), + child: const BottomArrowLinkedLocalsComponentWidget(), + ), + ).then((_) => safeSetState(() { + _localProfileComponentWidget = const LocalProfileComponentWidget(); + })); + } + @override void initState() { super.initState(); + _model = createModel(context, () => HomePageModel()); AppState().context = context; - checkLocal(); - () async { + await checkLocal().whenComplete(() => log('checkLocal completed')); await FirebaseMessagingService().updateDeviceToken(); }(); - () async { - await FirebaseMessagingService().updateDeviceToken(); - }(); - - WidgetsBinding.instance.addPostFrameCallback((_) async {}); - _model.textController ??= TextEditingController(); _model.textFieldFocusNode ??= FocusNode(); } @@ -244,7 +242,7 @@ class _HomePageWidgetState extends State { return wrapWithModel( model: _model.localComponentModel, updateCallback: () => safeSetState(() {}), - child: const LocalProfileComponentWidget(), + child: _localProfileComponentWidget, ); } } diff --git a/lib/pages/preferences_settings_page/preferences_settings_model.dart b/lib/pages/preferences_settings_page/preferences_settings_model.dart index 98be0db4..9960ce53 100644 --- a/lib/pages/preferences_settings_page/preferences_settings_model.dart +++ b/lib/pages/preferences_settings_page/preferences_settings_model.dart @@ -310,9 +310,9 @@ class PreferencesPageModel with ChangeNotifier { ) .then((value) { if (value.jsonBody['error'] == false) { - // AppState().deleteCliUUID(); - // AppState().deleteLocal(); - // AppState().deleteOwnerUUID(); + AppState().deleteCliUUID(); + AppState().deleteLocal(); + AppState().deleteOwnerUUID(); context.goNamed( 'homePage', extra: { diff --git a/lib/pages/preferences_settings_page/preferences_settings_widget.dart b/lib/pages/preferences_settings_page/preferences_settings_widget.dart index 221e2688..c2bbe6cc 100644 --- a/lib/pages/preferences_settings_page/preferences_settings_widget.dart +++ b/lib/pages/preferences_settings_page/preferences_settings_widget.dart @@ -47,7 +47,6 @@ class PreferencesPageWidget extends StatelessWidget { ), style: FlutterFlowTheme.of(context).headlineMedium.override( fontFamily: 'Nunito', - fontWeight: FontWeight.bold, color: FlutterFlowTheme.of(context).primaryText, fontSize: 15.0, letterSpacing: 0.0,