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

View File

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

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>{

View File

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