WIP
This commit is contained in:
parent
248dbd6bdd
commit
0aa9648616
|
@ -373,6 +373,10 @@ Future<bool> checkLocals({
|
||||||
required HomePageModel model,
|
required HomePageModel model,
|
||||||
required void Function(void Function()) safeSetState,
|
required void Function(void Function()) safeSetState,
|
||||||
}) async {
|
}) async {
|
||||||
|
bool itemFound = false;
|
||||||
|
var modalResult;
|
||||||
|
|
||||||
|
do {
|
||||||
// A chamada para a API permanece a mesma, assumindo que é necessária sempre.
|
// A chamada para a API permanece a mesma, assumindo que é necessária sempre.
|
||||||
final response = await PhpGroup.getLocalsCall.call(
|
final response = await PhpGroup.getLocalsCall.call(
|
||||||
devUUID: AppState().devUUID,
|
devUUID: AppState().devUUID,
|
||||||
|
@ -386,7 +390,7 @@ Future<bool> checkLocals({
|
||||||
|
|
||||||
// Uso eficiente de coleções para verificar a condição desejada.
|
// Uso eficiente de coleções para verificar a condição desejada.
|
||||||
final String uuid = cliUUID ?? AppState().cliUUID;
|
final String uuid = cliUUID ?? AppState().cliUUID;
|
||||||
final bool itemFound = response.jsonBody['locais'].any(
|
itemFound = response.jsonBody['locais'].any(
|
||||||
(local) => local['CLI_ID'] == uuid && local['CLU_STATUS'] == "A",
|
(local) => local['CLI_ID'] == uuid && local['CLU_STATUS'] == "A",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -395,10 +399,11 @@ Future<bool> checkLocals({
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
// A chamada para showModalBottomSheet permanece, mas a atualização da UI é otimizada.
|
// A chamada para showModalBottomSheet permanece, mas a atualização da UI é otimizada.
|
||||||
await showModalBottomSheet(
|
modalResult = await showModalBottomSheet(
|
||||||
isScrollControlled: true,
|
isScrollControlled: true,
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
enableDrag: false,
|
enableDrag: false,
|
||||||
|
isDismissible: false,
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) => GestureDetector(
|
builder: (context) => GestureDetector(
|
||||||
onTap: () => model.unfocusNode.canRequestFocus
|
onTap: () => model.unfocusNode.canRequestFocus
|
||||||
|
@ -412,8 +417,10 @@ Future<bool> checkLocals({
|
||||||
);
|
);
|
||||||
safeSetState(
|
safeSetState(
|
||||||
() {}); // Chamada otimizada fora do then para evitar encadeamentos desnecessários.
|
() {}); // Chamada otimizada fora do then para evitar encadeamentos desnecessários.
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
} while (modalResult != true);
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future answersRequest(BuildContext context, String? ref, String? task,
|
Future answersRequest(BuildContext context, String? ref, String? task,
|
||||||
|
|
|
@ -41,43 +41,19 @@ class _HomePageWidgetState extends State<HomePageWidget> {
|
||||||
void fetchData() async {
|
void fetchData() async {
|
||||||
bool success = false;
|
bool success = false;
|
||||||
while (!success) {
|
while (!success) {
|
||||||
await PhpGroup.getDadosCall
|
final response = await PhpGroup.getDadosCall.call(
|
||||||
.call(
|
|
||||||
devUUID: AppState().devUUID,
|
devUUID: AppState().devUUID,
|
||||||
userUUID: AppState().userUUID,
|
userUUID: AppState().userUUID,
|
||||||
cliUUID: AppState().cliUUID,
|
cliUUID: AppState().cliUUID,
|
||||||
atividade: 'getDados')
|
atividade: 'getDados',
|
||||||
.then((value) async {
|
|
||||||
switch (value.statusCode) {
|
|
||||||
case 200:
|
|
||||||
if (value.jsonBody['error'] == false) {
|
|
||||||
success = true;
|
|
||||||
AppState().whatsapp = value.jsonBody['whatsapp'];
|
|
||||||
AppState().provisional = value.jsonBody['provisional'];
|
|
||||||
} else if (value.jsonBody['error_msg'] ==
|
|
||||||
'O seu vinculo nao esta ativo.') {
|
|
||||||
success = true;
|
|
||||||
showModalBottomSheet(
|
|
||||||
isScrollControlled: true,
|
|
||||||
backgroundColor: Colors.transparent,
|
|
||||||
enableDrag: false,
|
|
||||||
isDismissible: false,
|
|
||||||
context: context,
|
|
||||||
builder: (context) {
|
|
||||||
return GestureDetector(
|
|
||||||
onTap: () => _model.unfocusNode.canRequestFocus
|
|
||||||
? FocusScope.of(context)
|
|
||||||
.requestFocus(_model.unfocusNode)
|
|
||||||
: FocusScope.of(context).unfocus(),
|
|
||||||
child: Padding(
|
|
||||||
padding: MediaQuery.viewInsetsOf(context),
|
|
||||||
child: const BottomArrowLinkedLocalsComponentWidget(),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
|
||||||
).then((value) => safeSetState(() {
|
switch (response.statusCode) {
|
||||||
|
case 200:
|
||||||
|
if (response.jsonBody['error'] == false) {
|
||||||
success = true;
|
success = true;
|
||||||
}));
|
AppState().whatsapp = response.jsonBody['whatsapp'];
|
||||||
|
AppState().provisional = response.jsonBody['provisional'];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -85,7 +61,6 @@ class _HomePageWidgetState extends State<HomePageWidget> {
|
||||||
safeSetState(() {});
|
safeSetState(() {});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue