This commit is contained in:
jantunesmesias 2024-08-27 16:24:38 -03:00
parent 31e20ab37c
commit b29cb152b9
7 changed files with 72 additions and 42 deletions

View File

@ -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<bool> 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;
}
}

View File

@ -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<bool?> getBool(String key) async => (await read(key: key)) == 'true';
Future<void> setBool(String key, bool value) async =>
Future<void> setBool(String key, bool? value) async =>
await writeSync(key: key, value: value.toString());
Future<int?> getInt(String key) async =>

View File

@ -183,7 +183,6 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
ptText: 'Tem certeza',
), () async {
AppState().deleteAll();
// setState(() {});
context.goNamed(
'welcomePage',

View File

@ -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(),

View File

@ -90,6 +90,7 @@ class _AppState extends State<App> {
@override
Widget build(BuildContext context) {
log("haveLocals: ${AppState().haveLocal}");
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => AppState()),

View File

@ -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<HomePageWidget> {
late HomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
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<HomePageWidget> {
}
}
Future checkLocal() async {
final response = await PhpGroup.getLocalsCall.call(
devUUID: AppState().devUUID,
userUUID: AppState().userUUID,
);
log(response.jsonBody.toString());
List<dynamic> 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<HomePageWidget> {
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();

View File

@ -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: <String, dynamic>{