diff --git a/lib/actions/actions.dart b/lib/actions/actions.dart index 46c8e9c7..e4305dd3 100644 --- a/lib/actions/actions.dart +++ b/lib/actions/actions.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; // import 'package:hub/components/organisms/bottom_arrow_linked_locals/bottom_arrow_linked_locals_component_widget.dart'; import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/molecular_components/option_selection_modal/option_selection_modal_widget.dart'; -import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart'; import 'package:hub/custom_code/actions/get_dev_u_u_i_d.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -138,28 +137,24 @@ Future singInLoginAction( AppState().userUUID = PhpGroup.loginCall.userUUID( (loginCall.jsonBody ?? ''), )!; - AppState().createdAt = dateTimeFormat( 'd/M/y H:mm:ss', getCurrentTimestamp, locale: FFLocalizations.of(context).languageCode, ); - AppState().updatedAt = '00/00/0000 00:00:00'; - AppState().status = PhpGroup.loginCall.userStatus((loginCall.jsonBody ?? ''))!; - AppState().userDevUUID = PhpGroup.loginCall.userDeviceId((loginCall.jsonBody ?? ''))!; - PhpGroup.loginCall.userName((loginCall.jsonBody ?? ''))!; - AppState().serialNumber = await getSerialNumber() ?? ''; - AppState().isLogged = true; - AppState().haveLocal = await checkLocals(context: context, model: model) - .then((value) async => await toggleApp(context, value)); + + AppState().haveLocal = + await checkLocals(context: context, model: model); + log('haveLocal in login: ${AppState().haveLocal}'); + toggleApp(context, AppState().haveLocal!); } else { if (PhpGroup.loginCall.msg((loginCall?.jsonBody ?? '')) == null) { DialogUtil.errorDefault(context); @@ -304,6 +299,7 @@ Future toggleSignUpPage(BuildContext context) async { } Future toggleApp(BuildContext context, bool haveLocal) async { + log('haveLocal in toggleApp: $haveLocal'); if (haveLocal == true) context.goNamed( 'homePage', @@ -400,19 +396,6 @@ Future checkLocals({ if (locals.isEmpty) { return false; } else { - if (locals.where((local) => local['CLU_STATUS'] != 'A').isNotEmpty) { - await showModalBottomSheet( - isScrollControlled: true, - backgroundColor: Colors.transparent, - enableDrag: false, - isDismissible: false, - context: context, - builder: (context) => Padding( - padding: MediaQuery.viewInsetsOf(context), - child: const BottomArrowLinkedLocalsComponentWidget(), - ), - ); - } return true; } } diff --git a/lib/app_state.dart b/lib/app_state.dart index 72548ef0..5a864adb 100644 --- a/lib/app_state.dart +++ b/lib/app_state.dart @@ -216,6 +216,17 @@ class AppState extends ChangeNotifier { secureStorage.delete(key: 'panic'); } + bool? _haveLocal = null; + bool? get haveLocal => _haveLocal; + set haveLocal(bool? value) { + _haveLocal = value; + secureStorage.setBool('ff_have_local', value); + } + + void deleteHaveLocal() { + secureStorage.delete(key: 'ff_have_local'); + } + String _fingerprintPass = ''; String get fingerprintPass => _fingerprintPass; set fingerprintPass(String value) { @@ -412,13 +423,6 @@ class AppState extends ChangeNotifier { secureStorage.setBool('ff_isLogged', value); } - bool _haveLocal = false; - bool get haveLocal => _haveLocal; - set haveLocal(bool value) { - _haveLocal = value; - secureStorage.setBool('ff_have_local', value); - } - void deleteIsLogged() { secureStorage.delete(key: 'ff_isLogged'); } @@ -549,7 +553,7 @@ extension FlutterSecureStorageExtensions on FlutterSecureStorage { await writeSync(key: key, value: value); Future getBool(String key) async => (await read(key: key)) == 'true'; - Future setBool(String key, bool value) async => + Future setBool(String key, bool? value) async => await writeSync(key: key, value: value.toString()); Future getInt(String key) async => 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 1b67105e..7d51c2b5 100644 --- a/lib/components/organism_components/menu_component/menu_component_model.dart +++ b/lib/components/organism_components/menu_component/menu_component_model.dart @@ -183,7 +183,6 @@ class MenuComponentModel extends FlutterFlowModel { ptText: 'Tem certeza', ), () async { AppState().deleteAll(); - // setState(() {}); context.goNamed( 'welcomePage', diff --git a/lib/flutter_flow/nav/nav.dart b/lib/flutter_flow/nav/nav.dart index 88b5081a..29220d92 100644 --- a/lib/flutter_flow/nav/nav.dart +++ b/lib/flutter_flow/nav/nav.dart @@ -72,7 +72,7 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter( name: '_initialize', path: '/', builder: (context, _) => AppState().isLogged - ? AppState().haveLocal + ? AppState().haveLocal == true ? const HomePageWidget() : const ReceptionPageWidget() : const WelcomePageWidget(), diff --git a/lib/main.dart b/lib/main.dart index a0de4a05..bb3254ac 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -90,6 +90,7 @@ class _AppState extends State { @override Widget build(BuildContext context) { + log("haveLocals: ${AppState().haveLocal}"); return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => AppState()), diff --git a/lib/pages/home_page/home_page_widget.dart b/lib/pages/home_page/home_page_widget.dart index c23d7309..0dbd7ff1 100644 --- a/lib/pages/home_page/home_page_widget.dart +++ b/lib/pages/home_page/home_page_widget.dart @@ -3,10 +3,10 @@ import 'dart:developer'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/actions/actions.dart'; import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/backend/notifications/firebase_messaging_service.dart'; import 'package:hub/backend/schema/enums/enums.dart'; +import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart'; import 'package:hub/components/organism_components/local_profile_component/local_profile_component_widget.dart'; import 'package:hub/components/organism_components/menu_component/menu_component_widget.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; @@ -28,7 +28,7 @@ class _HomePageWidgetState extends State { late HomePageModel _model; final scaffoldKey = GlobalKey(); - void checkData() async { + Future checkData() async { final response = await PhpGroup.getDadosCall.call( devUUID: AppState().devUUID, userUUID: AppState().userUUID, @@ -60,6 +60,46 @@ class _HomePageWidgetState extends State { } } + Future checkLocal() async { + final response = await PhpGroup.getLocalsCall.call( + devUUID: AppState().devUUID, + userUUID: AppState().userUUID, + ); + log(response.jsonBody.toString()); + List locals = response.jsonBody['locais'] ?? []; + + 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()); + } + } + @override void initState() { super.initState(); @@ -67,14 +107,17 @@ class _HomePageWidgetState extends State { AppState().context = context; + checkLocal(); + () async { await FirebaseMessagingService().updateDeviceToken(); }(); - checkLocals( - context: context, - model: _model, - ).then((_) => checkData()); + () async { + await FirebaseMessagingService().updateDeviceToken(); + }(); + + WidgetsBinding.instance.addPostFrameCallback((_) async {}); _model.textController ??= TextEditingController(); _model.textFieldFocusNode ??= FocusNode(); diff --git a/lib/pages/preferences_settings_page/preferences_settings_model.dart b/lib/pages/preferences_settings_page/preferences_settings_model.dart index 9960ce53..98be0db4 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: {