From 624f00cc1fac747bac496ea68a419aae21aa285c Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Fri, 13 Sep 2024 18:04:35 -0300 Subject: [PATCH] WIP --- lib/pages/pets_page/pets_history_screen.dart | 10 +++-- lib/pages/pets_page/pets_page_model.dart | 44 +++++++------------- lib/pages/pets_page/pets_page_widget.dart | 11 +++-- 3 files changed, 28 insertions(+), 37 deletions(-) diff --git a/lib/pages/pets_page/pets_history_screen.dart b/lib/pages/pets_page/pets_history_screen.dart index 5697f6b2..53660722 100644 --- a/lib/pages/pets_page/pets_history_screen.dart +++ b/lib/pages/pets_page/pets_history_screen.dart @@ -24,6 +24,7 @@ class _PetsHistoryScreenState extends State final int _pageSize = 10; bool _hasData = false; bool _loading = false; + int count = 0; late Future _petsFuture; List _petsWrap = []; @@ -61,7 +62,8 @@ class _PetsHistoryScreenState extends State page: _pageNumber, ); - final List pets = response.jsonBody['pets'] ?? []; + final List pets = response.jsonBody['pets']['list'] ?? []; + safeSetState(() => count = response.jsonBody['pets']['count'] ?? 0); if (pets != null && pets.isNotEmpty) { setState(() { @@ -95,6 +97,7 @@ class _PetsHistoryScreenState extends State void _loadMore() { if (_hasData == true) { _pageNumber++; + _petsFuture = _fetchVisits(); } } @@ -151,7 +154,7 @@ class _PetsHistoryScreenState extends State AppState().petAmountRegister == 0 ? FFLocalizations.of(context).getVariableText( ptText: "Ilimitado", enText: "Unlimited") - : "${FFLocalizations.of(context).getVariableText(ptText: "Quantidade de Pets: ", enText: "Amount of Pets: ")}${_petsWrap.length}/${AppState().petAmountRegister}", + : "${FFLocalizations.of(context).getVariableText(ptText: "Quantidade de Pets: ", enText: "Amount of Pets: ")}${count}/${AppState().petAmountRegister}", textAlign: TextAlign.right, ), ); @@ -256,7 +259,8 @@ class _PetsHistoryScreenState extends State safeSetState(() { _pageNumber = 1; _petsWrap = []; - _petsFuture = _fetchVisits(); + _petsFuture = + _fetchVisits().then((value) => value!.jsonBody['pets'] ?? []); }); }).catchError((e, s) { DialogUtil.errorDefault(context); diff --git a/lib/pages/pets_page/pets_page_model.dart b/lib/pages/pets_page/pets_page_model.dart index 8f3c3be3..053bef83 100644 --- a/lib/pages/pets_page/pets_page_model.dart +++ b/lib/pages/pets_page/pets_page_model.dart @@ -209,12 +209,8 @@ class PetsPageModel extends FlutterFlowModel { enText: 'Pet successfully updated', ptText: 'Pet atualizado com sucesso', )); - clearFields(); onUpdatePet?.call(); switchTab(1); - }).onError((error, stack) { - log(error.toString()); - DialogUtil.errorDefault(buildContext!); }); } @@ -240,17 +236,15 @@ class PetsPageModel extends FlutterFlowModel { if (response.jsonBody['error'] == true) { DialogUtil.error(buildContext!, jsonDecode(response.jsonBody['error_msg'])[0]['message']); + } else if (response.jsonBody['error'] == false) { + DialogUtil.success( + buildContext!, + FFLocalizations.of(buildContext!).getVariableText( + enText: 'Pet successfully registered', + ptText: 'Pet cadastrado com sucesso', + )); + onRegisterPet?.call(); } - DialogUtil.success( - buildContext!, - FFLocalizations.of(buildContext!).getVariableText( - enText: 'Pet successfully registered', - ptText: 'Pet cadastrado com sucesso', - )); - clearFields(); - onRegisterPet?.call(); - }).onError((error, stack) { - DialogUtil.errorDefault(buildContext!); }); } @@ -270,23 +264,13 @@ class PetsPageModel extends FlutterFlowModel { void clearFields() { uploadedLocalFile = null; - textControllerName!.clear(); - textControllerName!.clearComposing(); - textControllerSpecies!.clear(); - textControllerSpecies!.clearComposing(); - - textControllerRace!.clear(); - textControllerRace!.clearComposing(); - - textControllerColor!.clear(); - textControllerColor!.clearComposing(); - - textControllerData!.clear(); - textControllerData!.clearComposing(); - - textControllerObservation!.clear(); - textControllerObservation!.clearComposing(); + textControllerName?.clear(); + textControllerSpecies?.clear(); + textControllerRace?.clear(); + textControllerColor?.clear(); + textControllerData?.clear(); + textControllerObservation?.clear(); dropDownValue1 = null; dropDownValue2 = null; diff --git a/lib/pages/pets_page/pets_page_widget.dart b/lib/pages/pets_page/pets_page_widget.dart index 982bf251..60e962b0 100644 --- a/lib/pages/pets_page/pets_page_widget.dart +++ b/lib/pages/pets_page/pets_page_widget.dart @@ -59,12 +59,15 @@ class _PetsPageWidgetState extends State _model = PetsPageModel(); _model.tabBarController = TabController(length: 2, vsync: this); _model.onUpdatePet = () { - setState(() {}); - Form.of(context).reset(); + safeSetState(() { + _model.clearFields(); + // _formKey.currentState?.reset(); + }); }; _model.onRegisterPet = () { - setState(() {}); - Form.of(context).reset(); + safeSetState(() { + _model.clearFields(); + }); }; widget.pet != null ? _model.isEditing = true : _model.isEditing = false;