This commit is contained in:
jantunesmesias 2024-08-27 17:42:14 -03:00
parent b29cb152b9
commit f2fa9b1336
4 changed files with 88 additions and 93 deletions

View File

@ -65,11 +65,11 @@ class _FastPassPageWidgetState extends State<FastPassPageWidget> {
source: source:
"window.localStorage.setItem('enableBackButton', 'true')"); "window.localStorage.setItem('enableBackButton', 'true')");
}, },
onUpdateVisitedHistory: (controller, uri, isVisited) { onUpdateVisitedHistory: (controller, uri, isVisited) {
if (uri.toString().contains('/hub/home')) { if (uri.toString().contains('/hub/home')) {
Navigator.pop(context); Navigator.pop(context);
} }
}, },
) )
: WebViewWidget( : WebViewWidget(
controller: _controllerAll = WebViewController() controller: _controllerAll = WebViewController()
@ -79,36 +79,34 @@ class _FastPassPageWidgetState extends State<FastPassPageWidget> {
..setBackgroundColor(const Color(0x00000000)) ..setBackgroundColor(const Color(0x00000000))
..setNavigationDelegate( ..setNavigationDelegate(
NavigationDelegate( NavigationDelegate(
onProgress: (int progress) {}, onProgress: (int progress) {},
onPageStarted: (String url) { onPageStarted: (String url) {
final String token = final String token =
"localStorage.setItem('fre-token', '\"${widget.freToken}\"');"; "localStorage.setItem('fre-token', '\"${widget.freToken}\"');";
final String data = final String data =
"localStorage.setItem('fre-user-data', '${widget.freUserData}');"; "localStorage.setItem('fre-user-data', '${widget.freUserData}');";
const String backNavigation = const String backNavigation =
"localStorage.setItem('enableBackButton', 'true');"; "localStorage.setItem('enableBackButton', 'true');";
_controllerAll.runJavaScript(token); _controllerAll.runJavaScript(token);
_controllerAll.runJavaScript(data); _controllerAll.runJavaScript(data);
_controllerAll.runJavaScript(backNavigation); _controllerAll.runJavaScript(backNavigation);
}, },
onNavigationRequest: (NavigationRequest request) { onNavigationRequest: (NavigationRequest request) {
if (request.url.startsWith('http') || if (request.url.startsWith('http') ||
request.url request.url.startsWith(
.startsWith('https://api.whatsapp.com/send') || 'https://api.whatsapp.com/send') ||
request.url.startsWith('https://wa.me')) { request.url.startsWith('https://wa.me')) {
launchUrlString(request.url); launchUrlString(request.url);
return NavigationDecision.prevent;
}
return NavigationDecision.prevent; return NavigationDecision.prevent;
} },
return NavigationDecision.prevent;
},
onUrlChange: (url) { onUrlChange: (url) {
if (url.url.toString().contains('/hub/home')) { if (url.url.toString().contains('/hub/home')) {
Navigator.pop(context); Navigator.pop(context);
} }
} }),
),
) )
..loadRequest(Uri.parse(url)), ..loadRequest(Uri.parse(url)),
), ),

View File

@ -27,98 +27,96 @@ class HomePageWidget extends StatefulWidget {
class _HomePageWidgetState extends State<HomePageWidget> { class _HomePageWidgetState extends State<HomePageWidget> {
late HomePageModel _model; late HomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>(); final scaffoldKey = GlobalKey<ScaffoldState>();
LocalProfileComponentWidget _localProfileComponentWidget =
const LocalProfileComponentWidget();
Future checkData() async { Future<void> checkData() async {
final response = await PhpGroup.getDadosCall.call( try {
devUUID: AppState().devUUID, final response = await PhpGroup.getDadosCall.call(
userUUID: AppState().userUUID, devUUID: AppState().devUUID,
cliUUID: AppState().cliUUID, userUUID: AppState().userUUID,
atividade: 'getDados', cliUUID: AppState().cliUUID,
); atividade: 'getDados',
);
switch (response.statusCode) { if (response.statusCode == 200) {
case 200:
if (response.jsonBody['error'] == false) { if (response.jsonBody['error'] == false) {
AppState().whatsapp = response.jsonBody['whatsapp']; AppState().whatsapp = response.jsonBody['whatsapp'];
AppState().provisional = response.jsonBody['provisional']; AppState().provisional = response.jsonBody['provisional'];
AppState().name = response.jsonBody['visitado']['VDO_NOME']; AppState().name = response.jsonBody['visitado']['VDO_NOME'];
safeSetState(() {});
} else { } else {
if (response.jsonBody['error_msg'] != final errorMsg = response.jsonBody['error_msg'];
if (errorMsg !=
r'''Usuario nao possui vinculo ativo com esse condominio''') { r'''Usuario nao possui vinculo ativo com esse condominio''') {
log(response.jsonBody['error_msg']); log(errorMsg);
await DialogUtil.warningDefault(context) await DialogUtil.warningDefault(context)
.whenComplete(() => checkData()); .whenComplete(() => checkData());
safeSetState(() {});
} }
} }
break; } else {
default:
await DialogUtil.warningDefault(context) await DialogUtil.warningDefault(context)
.whenComplete(() => checkData()); .whenComplete(() => checkData());
safeSetState(() {}); safeSetState(() {});
break; }
} catch (e) {
log('Error in checkData: $e');
await DialogUtil.warningDefault(context).whenComplete(() => checkData());
} }
} }
Future checkLocal() async { Future<void> checkLocal() async {
final response = await PhpGroup.getLocalsCall.call( try {
devUUID: AppState().devUUID, final response = await PhpGroup.getLocalsCall.call(
userUUID: AppState().userUUID, devUUID: AppState().devUUID,
); userUUID: AppState().userUUID,
log(response.jsonBody.toString()); );
List<dynamic> locals = response.jsonBody['locais'] ?? []; log(response.jsonBody.toString());
final activeLocals = List<dynamic> locals = response.jsonBody['locais'] ?? [];
locals.where((local) => local['CLU_STATUS'] == 'A').toList(); final activeLocals =
log("activeLocals $activeLocals"); locals.where((local) => local['CLU_STATUS'] == 'A').toList();
if (activeLocals.isEmpty) { log("activeLocals $activeLocals");
await showModalBottomSheet(
isScrollControlled: true, if (activeLocals.isEmpty || AppState().cliUUID.isEmpty) {
backgroundColor: Colors.transparent, await showBottomSheet().then((_) => checkData());
enableDrag: false, }
isDismissible: false, } catch (e) {
context: context, log('Error in checkLocal: $e');
builder: (context) => Padding( await showBottomSheet().then((_) => checkData());
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());
} }
} }
Future<void> showBottomSheet() 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((_) => safeSetState(() {
_localProfileComponentWidget = const LocalProfileComponentWidget();
}));
}
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_model = createModel(context, () => HomePageModel()); _model = createModel(context, () => HomePageModel());
AppState().context = context; AppState().context = context;
checkLocal();
() async { () async {
await checkLocal().whenComplete(() => log('checkLocal completed'));
await FirebaseMessagingService().updateDeviceToken(); await FirebaseMessagingService().updateDeviceToken();
}(); }();
() async {
await FirebaseMessagingService().updateDeviceToken();
}();
WidgetsBinding.instance.addPostFrameCallback((_) async {});
_model.textController ??= TextEditingController(); _model.textController ??= TextEditingController();
_model.textFieldFocusNode ??= FocusNode(); _model.textFieldFocusNode ??= FocusNode();
} }
@ -244,7 +242,7 @@ class _HomePageWidgetState extends State<HomePageWidget> {
return wrapWithModel( return wrapWithModel(
model: _model.localComponentModel, model: _model.localComponentModel,
updateCallback: () => safeSetState(() {}), updateCallback: () => safeSetState(() {}),
child: const LocalProfileComponentWidget(), child: _localProfileComponentWidget,
); );
} }
} }

View File

@ -310,9 +310,9 @@ class PreferencesPageModel with ChangeNotifier {
) )
.then((value) { .then((value) {
if (value.jsonBody['error'] == false) { if (value.jsonBody['error'] == false) {
// AppState().deleteCliUUID(); AppState().deleteCliUUID();
// AppState().deleteLocal(); AppState().deleteLocal();
// AppState().deleteOwnerUUID(); AppState().deleteOwnerUUID();
context.goNamed( context.goNamed(
'homePage', 'homePage',
extra: <String, dynamic>{ extra: <String, dynamic>{

View File

@ -47,7 +47,6 @@ class PreferencesPageWidget extends StatelessWidget {
), ),
style: FlutterFlowTheme.of(context).headlineMedium.override( style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Nunito', fontFamily: 'Nunito',
fontWeight: FontWeight.bold,
color: FlutterFlowTheme.of(context).primaryText, color: FlutterFlowTheme.of(context).primaryText,
fontSize: 15.0, fontSize: 15.0,
letterSpacing: 0.0, letterSpacing: 0.0,