diff --git a/lib/components/organism_components/local_profile_component/local_profile_component_widget.dart b/lib/components/organism_components/local_profile_component/local_profile_component_widget.dart index f5b709e7..99d2ad95 100644 --- a/lib/components/organism_components/local_profile_component/local_profile_component_widget.dart +++ b/lib/components/organism_components/local_profile_component/local_profile_component_widget.dart @@ -137,6 +137,8 @@ class _LocalProfileComponentWidgetState await processData(); } + + void onUpdate() { safeSetState(() { _model.getData(); diff --git a/lib/pages/reception_page/reception_page_widget.dart b/lib/pages/reception_page/reception_page_widget.dart index 75be8092..51995b0e 100644 --- a/lib/pages/reception_page/reception_page_widget.dart +++ b/lib/pages/reception_page/reception_page_widget.dart @@ -3,6 +3,7 @@ import 'package:google_fonts/google_fonts.dart'; import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/backend/notifications/firebase_messaging_service.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart'; +import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; @@ -26,6 +27,90 @@ class _ReceptionPageWidgetState extends State { FirebaseMessagingService().updateDeviceToken(); } + Future processData() async { + try { + final GetDadosCall callback = PhpGroup.getDadosCall; + + var response = await callback.call(); + + final error = response.jsonBody['error']; + // final errorMsg = response.jsonBody['error_msg']; + + if (error == false) { + final bool whatsapp = response.jsonBody['whatsapp'] ?? false; + final bool provisional = response.jsonBody['provisional'] ?? false; + final bool pets = response.jsonBody['pet'] ?? false; + final String petAmountRegister = + response.jsonBody['petAmountRegister'].toString().isEmpty + ? '0' + : response.jsonBody['petAmountRegister'].toString(); + final String name = response.jsonBody['visitado']['VDO_NOME']; + + StorageUtil().whatsapp = whatsapp; + StorageUtil().provisional = provisional; + StorageUtil().pets = pets; + StorageUtil().petAmountRegister = petAmountRegister; + StorageUtil().userName = name; + + safeSetState(() {}); + return; + } else if (error == true) { + DialogUtil.warningDefault(context).whenComplete(() => processLocals()); + safeSetState(() {}); + } + + return; + } catch (e) { + log('() => error: $e'); // Add this line to log the error + DialogUtil.warningDefault(context).whenComplete(() => processLocals()); + } + } + + Future processLocals() async { + try { + final GetLocalsCall callback = PhpGroup.getLocalsCall; + + final cliUUID = StorageUtil().cliUUID; + var response = await callback.call(); + + if (response.jsonBody['error'] == false) { + List locals = response.jsonBody['locais'] ?? []; + + final activeLocals = + locals.where((local) => local['CLU_STATUS'] == 'A').toList(); + + StorageUtil().haveLocal = true; + StorageUtil().context?.go('/homePage'); + if (activeLocals.isEmpty || cliUUID.isEmpty) { + await showModalSelectLocal(); + } else { + await processData(); + } + } + } catch (e) { + await showModalSelectLocal(); + } + } + + Future showModalSelectLocal() 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((_) async { + StorageUtil().haveLocal = true; + StorageUtil().context?.go('/homePage'); + }); + + await processData(); + } + @override Widget build(BuildContext context) { StorageUtil().context = context;