diff --git a/lib/components/organism_components/menu_component/menu_component_model.dart b/lib/components/organism_components/menu_component/menu_component_model.dart index e6f7c1cb..3e89cf99 100644 --- a/lib/components/organism_components/menu_component/menu_component_model.dart +++ b/lib/components/organism_components/menu_component/menu_component_model.dart @@ -5,6 +5,7 @@ import 'package:hub/shared/extensions/dialog_extensions.dart'; import 'package:hub/shared/services/authentication/authentication_service.dart'; import 'package:hub/shared/utils/storage_util.dart'; +import '../../../shared/services/localization/localization_service.dart'; import '/components/molecular_components/option_selection_modal/option_selection_modal_widget.dart'; import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart'; import '/flutter_flow/flutter_flow_util.dart'; @@ -42,7 +43,9 @@ class MenuComponentModel extends FlutterFlowModel { isGrid = !isGrid; } - Future isChecked() async { + Future isChecked(BuildContext context) async { + await StorageUtil().ensureInitialization(); + await LocalizationService.processLocals(context); return StorageUtil().cliUUID.isNotEmpty && StorageUtil().cliName.isNotEmpty && StorageUtil().devUUID.isNotEmpty && @@ -50,7 +53,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openQRCodeScanner(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/qrCodePage', @@ -69,7 +72,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openCompleteSchedule(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/scheduleCompleteVisitPage', @@ -90,7 +93,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openDeliverySchedule(BuildContext context) async { final bool isProvisional = StorageUtil().provisional; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isProvisional == true) { context.push( @@ -115,7 +118,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openProvisionalSchedule(BuildContext context) async { final isProvisional = StorageUtil().provisional; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isProvisional == true) { context.push( @@ -140,7 +143,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openFastPassSchedule(BuildContext context) async { final isWpp = StorageUtil().whatsapp; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isWpp) { context.push( @@ -204,7 +207,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openVisitorsRegister(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/registerVisitorPage', @@ -223,7 +226,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openPoepleOnTheProperty(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/peopleOnThePropertyPage', @@ -258,7 +261,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openPreferencesSettings(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/preferencesSettings', @@ -279,7 +282,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openMyOrders(BuildContext context) async { final isWpp = StorageUtil().whatsapp; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isWpp) { context.push( @@ -304,7 +307,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openReservations(BuildContext context) async { final isWpp = StorageUtil().whatsapp; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isWpp) { context.push( @@ -373,7 +376,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openLiberationsHistory(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/liberationHistory', @@ -392,7 +395,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openAccessHistory(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/acessHistoryPage', @@ -411,7 +414,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openVisitsHistory(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/scheduleCompleteVisitPage', @@ -430,7 +433,7 @@ class MenuComponentModel extends FlutterFlowModel { } Future openMessagesHistory(BuildContext context) async { - isChecked().then((value) { + isChecked(context).then((value) { if (value) { context.push( '/messageHistoryPage', @@ -451,7 +454,7 @@ class MenuComponentModel extends FlutterFlowModel { Future openPetsRegister(BuildContext context) async { bool isPet = StorageUtil().pets; - isChecked().then((value) { + isChecked(context).then((value) { if (value) { if (isPet) { context.push( diff --git a/lib/main.dart b/lib/main.dart index 4fa58c7c..f6f7822f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -287,8 +287,9 @@ class _AppState extends State with WidgetsBindingObserver { } @override void didChangeAppLifecycleState(AppLifecycleState state) async { - await StorageUtil().ensureInitialization(); - LocalizationService.processLocals(context); + if (state == AppLifecycleState.resumed) await StorageUtil().ensureInitialization(); + if (state == AppLifecycleState.resumed) await LocalizationService.processLocals(context); + else LocalizationService.processData(context); } @override Widget build(BuildContext context) { diff --git a/lib/shared/services/localization/localization_service.dart b/lib/shared/services/localization/localization_service.dart index 2b924722..5115ba4b 100644 --- a/lib/shared/services/localization/localization_service.dart +++ b/lib/shared/services/localization/localization_service.dart @@ -99,7 +99,13 @@ class LocalizationService { } catch (e, s) { log('() => stack: $s'); log('() => catch: $e', stackTrace: s); - return await selectLocal(context); + // return await selectLocal(context); + final String errorMsg = FFLocalizations.of(context).getVariableText( + enText: 'Error getting locals, verify your connection', + ptText: 'Erro ao obter locais, verifique sua conexão', + ); + DialogUtil.error(context, errorMsg).whenComplete(() => selectLocal(context)); + return false; } } static Future processData(BuildContext context) async { @@ -119,7 +125,11 @@ class LocalizationService { } catch (e, s) { log('() => stack processData: $s'); log('() => error processData: $e', stackTrace: s); - DialogUtil.warningDefault(context).whenComplete(() => selectLocal(context)); + final String errorMsg = FFLocalizations.of(context).getVariableText( + enText: 'Error getting data, verify your connection', + ptText: 'Erro ao obter dados, verifique sua conexão', + ); + DialogUtil.error(context, errorMsg).whenComplete(() => selectLocal(context)); return false; } } @@ -225,7 +235,6 @@ class LocalizationService { log('() => CLU_STATUS: $status'); } } - static bool _isActive(List locals) { return locals.where((local) => local['CLU_STATUS'] == 'A').isNotEmpty; } @@ -244,7 +253,6 @@ class LocalizationService { static bool _isAvailable() { return StorageUtil().cliUUID.isNotEmpty && StorageUtil().cliName.isNotEmpty; } - static void _updateStorageUtil(Map jsonBody) { final bool whatsapp = jsonBody['whatsapp'] ?? false; final bool provisional = jsonBody['provisional'] ?? false;