This commit is contained in:
jantunesmesias 2024-08-08 14:34:39 -03:00
parent ccd63168bd
commit d26eb5d8fa
3 changed files with 57 additions and 125 deletions

View File

@ -25,115 +25,57 @@ Widget buildDetails(
FlutterFlowIconButton( FlutterFlowIconButton(
icon: const Icon(Icons.close), icon: const Icon(Icons.close),
onPressed: () async { onPressed: () async {
showDialog( showAlertDialog(
context: context, context,
builder: (context) { FFLocalizations.of(context).getVariableText(
return AlertDialog( ptText: 'Bloquear Visita',
title: Text( enText: 'Block Visit',
FFLocalizations.of(context).getVariableText( ),
ptText: 'Bloquear Visita', FFLocalizations.of(context).getVariableText(
enText: 'Block Visit', ptText: 'Você tem certeza que deseja bloquear essa visita?',
), enText: 'Are you sure you want to block this visit?',
), () async {
await changeStatusAction
?.call(
context,
int.parse(visitaWrapItem['VAW_DESTINO']),
int.parse(visitaWrapItem['VAW_ID']),
visitaWrapItem['VAW_CHAVE'] ?? '',
visitaWrapItem['VTE_DOCUMENTO'] ?? '',
)
.then((value) {
Navigator.pop(context);
if (value == false) {
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Error blocking visit',
ptText: 'Erro ao bloquear visita',
), ),
content: Text( true,
FFLocalizations.of(context).getVariableText(
ptText:
'Você tem certeza que deseja bloquear essa visita?',
enText: 'Are you sure you want to block this visit?',
),
),
backgroundColor:
FlutterFlowTheme.of(context).primaryBackground,
actions: [
FFButtonWidget(
text: FFLocalizations.of(context).getVariableText(
enText: 'No',
ptText: 'Não',
),
onPressed: () {
Navigator.pop(context);
},
options: FFButtonOptions(
width: 100,
height: 40,
color:
FlutterFlowTheme.of(context).primaryBackground,
textStyle: TextStyle(
color: FlutterFlowTheme.of(context).primaryText,
),
borderSide: BorderSide(
color: FlutterFlowTheme.of(context)
.primaryBackground,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
),
FFButtonWidget(
text: FFLocalizations.of(context).getVariableText(
enText: 'Yes',
ptText: 'Sim',
),
onPressed: () async {
await changeStatusAction
?.call(
context,
int.parse(visitaWrapItem['VAW_DESTINO']),
int.parse(visitaWrapItem['VAW_ID']),
visitaWrapItem['VAW_CHAVE'] ?? '',
visitaWrapItem['VTE_DOCUMENTO'] ?? '',
)
.then((value) {
Navigator.pop(context);
if (value == false) {
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Error blocking visit',
ptText: 'Erro ao bloquear visita',
),
true,
);
} else if (value == true) {
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Success canceling visit',
ptText: 'Succeso ao cancelar visita',
),
false,
);
}
}).catchError((err, stack) {
Navigator.pop(context);
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Error blocking visit',
ptText: 'Erro ao bloquear visita',
),
true,
);
});
},
options: FFButtonOptions(
width: 100,
height: 40,
color: FlutterFlowTheme.of(context).primaryBackground,
textStyle: TextStyle(
color: FlutterFlowTheme.of(context).primaryText,
),
borderSide: BorderSide(
color:
FlutterFlowTheme.of(context).primaryBackground,
width: 1,
),
borderRadius: BorderRadius.circular(10),
),
),
],
); );
}); } else if (value == true) {
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Success canceling visit',
ptText: 'Succeso ao cancelar visita',
),
false,
);
}
}).catchError((err, stack) {
Navigator.pop(context);
showSnackbar(
context,
FFLocalizations.of(context).getVariableText(
enText: 'Error blocking visit',
ptText: 'Erro ao bloquear visita',
),
true,
);
});
});
}, },
), ),
if (getStatus(visitaWrapItem['VAW_STATUS']) != if (getStatus(visitaWrapItem['VAW_STATUS']) !=

View File

@ -549,8 +549,8 @@ void showSnackbar(
); );
} }
void showAlertDialog( void showAlertDialog(BuildContext context, String title, String content,
BuildContext context, String title, String content, Future action) { Future<void> Function() action) {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {
@ -577,6 +577,7 @@ void showAlertDialog(
width: 1, width: 1,
), ),
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
elevation: 0,
), ),
text: FFLocalizations.of(context).getVariableText( text: FFLocalizations.of(context).getVariableText(
enText: 'No', enText: 'No',
@ -585,12 +586,13 @@ void showAlertDialog(
), ),
FFButtonWidget( FFButtonWidget(
onPressed: () async { onPressed: () async {
await action; action();
}, },
options: FFButtonOptions( options: FFButtonOptions(
width: MediaQuery.of(context).size.width * 0.3, width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.height * 0.05, height: MediaQuery.of(context).size.height * 0.05,
color: FlutterFlowTheme.of(context).primaryBackground, color: FlutterFlowTheme.of(context).primaryBackground,
elevation: 0,
textStyle: TextStyle( textStyle: TextStyle(
color: FlutterFlowTheme.of(context).primaryText, color: FlutterFlowTheme.of(context).primaryText,
), ),

View File

@ -63,8 +63,6 @@ class _VisitHistoryWidgetState extends State<VisitHistoryWidget> {
.visitasList(wrapGetVisitsResponse.jsonBody) .visitasList(wrapGetVisitsResponse.jsonBody)
?.toList() ?? ?.toList() ??
[]; [];
log('updated');
log('visitaWrap: ${visitaWrap[0]}');
return ListView.builder( return ListView.builder(
itemCount: visitaWrap.length, itemCount: visitaWrap.length,
shrinkWrap: true, shrinkWrap: true,
@ -147,7 +145,6 @@ class _VisitHistoryWidgetState extends State<VisitHistoryWidget> {
); );
}, },
).whenComplete(() async { ).whenComplete(() async {
log('Complete');
final newResponseStream = final newResponseStream =
ScheduleCompleteVisitPageModel().visitHistory( ScheduleCompleteVisitPageModel().visitHistory(
requestFn: () => PhpGroup.getVisitsCall.call( requestFn: () => PhpGroup.getVisitsCall.call(
@ -160,22 +157,13 @@ class _VisitHistoryWidgetState extends State<VisitHistoryWidget> {
), ),
); );
newResponseStream.listen((newResponse) { newResponseStream.listen((newResponse) {
log('New response received: $newResponse');
if (mounted) { if (mounted) {
safeSetState(() { safeSetState(() {
response = newResponse.jsonBody; response = newResponse.jsonBody;
log('Response updated: $response');
}); });
} else { } else {}
log('Widget is not mounted, skipping state update.'); }).onError((err) {});
} }).catchError((err, stack) {});
}).onError((err) {
log('Error: $err');
});
}).catchError((err, stack) {
log('Error: $err');
log('Stack: $stack');
});
}, },
); );
}, },