fix prov and wpp logic

This commit is contained in:
jantunesmesias 2024-08-21 14:36:50 -03:00
parent 1d78875cbd
commit 84f1fc72cd
6 changed files with 101 additions and 59 deletions

View File

@ -153,6 +153,12 @@ class AppState extends ChangeNotifier {
await _safeInitAsync(() async {
_context = await secureStorage.getObject('ff_context') ?? _context;
});
await _safeInitAsync(() async {
_provisional = await secureStorage.getBool('provisional') ?? _provisional;
});
await _safeInitAsync(() async {
_whatsapp = await secureStorage.getBool('whatsapp') ?? _whatsapp;
});
}
void update(VoidCallback callback) {
@ -162,6 +168,28 @@ class AppState extends ChangeNotifier {
late FlutterSecureStorage secureStorage;
bool _whatsapp = false;
bool get whatsapp => _whatsapp;
set whatsapp(bool value) {
_whatsapp = value;
secureStorage.setBool('whatsapp', value);
}
void deleteWhatsapp() {
secureStorage.delete(key: 'whatsapp');
}
bool _provisional = false;
bool get provisional => _provisional;
set provisional(bool value) {
_provisional = value;
secureStorage.setBool('provisional', value);
}
void deleteProvisional() {
secureStorage.delete(key: 'provisional');
}
BuildContext? _context;
BuildContext? get context => _context;
set context(BuildContext? value) {

View File

@ -221,10 +221,10 @@ class _BottomArrowLinkedLocalsComponentWidgetState
Radius.circular(25.0),
),
child: Image.network(
'https://freaccess.com.br/freaccess/Images/Clients/${getJsonField(
"https://freaccess.com.br/freaccess/Images/Clients/${getJsonField(
eachLocalsItem,
r'''$.CLI_ID''',
).toString()}.png',
).toString()}.png",
width: double.infinity,
height: double.infinity,
fit: BoxFit.fill,

View File

@ -1,11 +1,13 @@
import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/custom_functions.dart' as functions;
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
import '/flutter_flow/custom_functions.dart' as functions;
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'local_profile_component_model.dart';
export 'local_profile_component_model.dart';
////

View File

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:hub/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_model.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
@ -7,8 +9,6 @@ import '/components/organism_components/menu_list_view_component/menu_list_view_
import '/flutter_flow/flutter_flow_util.dart';
import 'menu_component_widget.dart' show MenuComponentWidget;
class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
/// Local state fields for this component.
@ -42,36 +42,46 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
}
Future scheduleVisitOptAction(BuildContext context) async {
final isWpp = AppState().whatsapp;
final isProvisional = AppState().provisional;
log("isWpp ${isWpp ? 1 : 0}");
final routesListStr = <String>[
'scheduleCompleteVisitPage',
if (isProvisional) 'scheduleProvisionalVisitPage',
if (isWpp) 'fastPassPage',
];
final iconsListIcon = <IconData>[
Icons.date_range_rounded,
if (isProvisional) Icons.date_range_rounded,
if (isWpp) Icons.date_range_rounded,
];
final nameListStr = <String>[
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nCompleta',
enText: 'Complete\nSchedule',
),
if (isProvisional)
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nProvisória',
enText: 'Provisional\nSchedule',
),
if (isWpp)
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nRápida',
enText: 'Fast\nSchedule',
),
];
await showAdaptiveDialog(
context: context,
builder: (context) {
return Padding(
padding: MediaQuery.viewInsetsOf(context),
child: OptionSelectionModalWidget(
routesListStr: <String>[
'scheduleCompleteVisitPage',
'scheduleProvisionalVisitPage',
'fastPassPage',
],
iconsListIcon: <IconData>[
Icons.date_range_rounded,
Icons.date_range_rounded,
Icons.date_range_rounded,
],
nameListStr: <String>[
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nCompleta',
enText: 'Complete\nSchedule',
),
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nProvisória',
enText: 'Provisional\nSchedule',
),
FFLocalizations.of(context).getVariableText(
ptText: 'Visita\nRápida',
enText: 'Fast\nSchedule',
),
],
routesListStr: routesListStr,
iconsListIcon: iconsListIcon,
nameListStr: nameListStr,
),
);
},
@ -187,6 +197,4 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
},
);
}
}

View File

@ -1,5 +1,4 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:hub/backend/schema/enums/enums.dart';
import 'package:hub/components/atomic_components/menu_button_item/menu_button_item_widget.dart';
import 'package:hub/components/atomic_components/menu_card_item/menu_card_item.dart';
@ -9,8 +8,8 @@ import 'package:hub/flutter_flow/nav/nav.dart';
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
import '/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_widget.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'package:flutter/material.dart';
import 'menu_component_model.dart';
export 'menu_component_model.dart';
class MenuComponentWidget extends StatefulWidget {
@ -49,6 +48,9 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
super.dispose();
}
// MenuButtonWidget(icon: FFIcons.kvector2, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Link\nCondominum' , ptText:'' ,),),
// MenuButtonWidget(icon: FFIcons.kpets, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Register\Pet' , ptText:'' ,),),
@override
Widget build(BuildContext context) {
final options = widget.item == MenuItem.button
@ -64,7 +66,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Agendar\nVisita',
),
),
MenuButtonWidget(
icon: FFIcons.khome,
action: () async {
@ -76,10 +77,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Cadastro\nde Visitante',
),
),
// MenuButtonWidget(icon: FFIcons.kvector2, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Link\nCondominum' , ptText:'' ,),),
// MenuButtonWidget(icon: FFIcons.kpets, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Register\Pet' , ptText:'' ,),),
MenuButtonWidget(
icon: Icons.qr_code,
action: () async {
@ -91,7 +88,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'QRCode\nde Acesso',
),
),
MenuButtonWidget(
icon: Icons.people,
action: () async {
@ -103,7 +99,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Pessoas na\nPropriedade',
),
),
MenuButtonWidget(
icon: Icons.history_sharp,
action: () async {
@ -115,7 +110,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Consultar\nHistóricos',
),
),
MenuButtonWidget(
icon: Icons.settings,
action: () async {
@ -140,7 +134,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Agendar\nVisita',
),
),
MenuCardItem(
icon: FFIcons.khome,
action: () async {
@ -152,10 +145,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Cadastro\nde Visitante',
),
),
// MenuCardItem(icon: FFIcons.kvector2, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Link Condominum' , ptText:'' ,),),
// MenuCardItem(icon: FFIcons.kpets, action: () async {setState(() {});}, title: FFLocalizations.of(context).getVariableText(enText:'Register\Pet' , ptText:'' ,),),
MenuCardItem(
icon: Icons.qr_code,
action: () async {
@ -167,7 +156,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'QRCode\nde Acesso',
),
),
MenuCardItem(
icon: Icons.people,
action: () async {
@ -179,7 +167,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Pessoas\nna Propriedade',
),
),
MenuCardItem(
icon: Icons.history_sharp,
action: () async {
@ -191,7 +178,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
ptText: 'Consultar\nHistoricos',
),
),
MenuCardItem(
icon: Icons.settings,
action: () async {

View File

@ -1,8 +1,7 @@
import 'dart:developer';
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';
@ -29,7 +28,6 @@ class _HomePageWidgetState extends State<HomePageWidget> {
bool localStatus = false;
final scaffoldKey = GlobalKey<ScaffoldState>();
Future<void> checkLocalStatus() async {
localStatus = await checkLocals(
context: context,
@ -48,10 +46,30 @@ class _HomePageWidgetState extends State<HomePageWidget> {
() async {
await FirebaseMessagingService().updateDeviceToken();
}();
() async {
PhpGroup.getDadosCall
.call(
devUUID: AppState().devUUID,
userUUID: AppState().userUUID,
cliUUID: AppState().cliUUID,
atividade: 'getDados')
.then((value) async {
// value = await value;
AppState().whatsapp = value.jsonBody['whatsapp'];
AppState().provisional = value.jsonBody['provisional'];
});
}();
WidgetsBinding.instance.addPostFrameCallback((_) async {
@override
void initState() {
// PhpGroup.getLocalsCall
// .call(
// devUUID: AppState().devUUID,
// userUUID: AppState().userUUID,
// )
// .then((value) => log('getLocalsCall: $value'));
super.initState();
checkLocalStatus();
}
@ -182,7 +200,7 @@ class _HomePageWidgetState extends State<HomePageWidget> {
Widget createLocal(bool localStatus) {
return wrapWithModel(
model: _model.localComponentModel,
updateCallback: () => setState(() {}),
updateCallback: () => safeSetState(() {}),
child: LocalProfileComponentWidget(
localStatus: localStatus,
),