From 38b126dcb68bbb0a7a962d63b2784f929ec43334 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Fri, 13 Sep 2024 11:18:13 -0300 Subject: [PATCH] WIP --- lib/backend/api_requests/api_calls.dart | 30 +++++++++++++++++++ .../menu_component/menu_component_model.dart | 6 ++++ .../card_item_template_component_widget.dart | 1 + lib/pages/pets_page/pets_history_screen.dart | 5 +++- lib/pages/pets_page/pets_page_model.dart | 7 +++-- 5 files changed, 45 insertions(+), 4 deletions(-) diff --git a/lib/backend/api_requests/api_calls.dart b/lib/backend/api_requests/api_calls.dart index b79db3e0..ce44250f 100644 --- a/lib/backend/api_requests/api_calls.dart +++ b/lib/backend/api_requests/api_calls.dart @@ -54,6 +54,36 @@ class PhpGroup { static UpdatePet updatePet = UpdatePet(); static GetPets getPets = GetPets(); static GetPetPhoto getPetPhoto = GetPetPhoto(); + static UnregisterDevice unregisterDevice = UnregisterDevice(); +} + +class UnregisterDevice { + Future call({ + String? devUUID = '', + String? userUUID = '', + }) async { + final baseUrl = PhpGroup.getBaseUrl(); + + return ApiManager.instance.makeApiCall( + callName: 'unregisterDevice', + apiUrl: '$baseUrl/unregisterDevice.php', + callType: ApiCallType.POST, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + params: { + 'devUUID': devUUID, + 'userUUID': userUUID, + }, + bodyType: BodyType.X_WWW_FORM_URL_ENCODED, + returnBody: true, + encodeBodyUtf8: false, + decodeUtf8: false, + cache: false, + isStreamingApi: false, + alwaysAllowBody: false, + ); + } } class DeletePet { diff --git a/lib/components/organism_components/menu_component/menu_component_model.dart b/lib/components/organism_components/menu_component/menu_component_model.dart index b92b303c..89ff4b22 100644 --- a/lib/components/organism_components/menu_component/menu_component_model.dart +++ b/lib/components/organism_components/menu_component/menu_component_model.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_model.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/shared/extensions/dialog_extensions.dart'; @@ -196,6 +197,11 @@ class MenuComponentModel extends FlutterFlowModel { ), () async { AppState().deleteAll(); + PhpGroup.unregisterDevice.call( + devUUID: AppState().devUUID, + userUUID: AppState().userUUID, + ); + context.go( '/welcomePage', extra: { diff --git a/lib/components/templates_components/card_item_template_component/card_item_template_component_widget.dart b/lib/components/templates_components/card_item_template_component/card_item_template_component_widget.dart index 47d9b7de..4182ee53 100644 --- a/lib/components/templates_components/card_item_template_component/card_item_template_component_widget.dart +++ b/lib/components/templates_components/card_item_template_component/card_item_template_component_widget.dart @@ -107,6 +107,7 @@ class _CardItemTemplateComponentWidgetState fit: BoxFit.cover, width: 90, height: 90, + key: Key(widget.imagePath ?? ''), ), ); } diff --git a/lib/pages/pets_page/pets_history_screen.dart b/lib/pages/pets_page/pets_history_screen.dart index 704e6983..94d4fa72 100644 --- a/lib/pages/pets_page/pets_history_screen.dart +++ b/lib/pages/pets_page/pets_history_screen.dart @@ -148,7 +148,10 @@ class _PetsHistoryScreenState extends State return Padding( padding: EdgeInsets.only(right: 30, top: 10), child: Text( - "${_petsWrap.length}/${AppState().petAmountRegister}", + AppState().petAmountRegister == 0 + ? FFLocalizations.of(context).getVariableText( + ptText: "Ilimitado", enText: "Unlimited") + : "${_petsWrap.length}/${AppState().petAmountRegister}", textAlign: TextAlign.right, ), ); diff --git a/lib/pages/pets_page/pets_page_model.dart b/lib/pages/pets_page/pets_page_model.dart index 480cc6f5..e9d3ee99 100644 --- a/lib/pages/pets_page/pets_page_model.dart +++ b/lib/pages/pets_page/pets_page_model.dart @@ -177,15 +177,15 @@ class PetsPageModel extends FlutterFlowModel { } Future updatePet() async { + var img = await actions.convertImageFileToBase64(uploadedLocalFile!); + img = "base64;jpeg,$img"; await PhpGroup.updatePet .call( cliID: AppState().cliUUID, devUUID: AppState().devUUID, userUUID: AppState().userUUID, petID: petId, - image: await actions.convertImageFileToBase64( - uploadedLocalFile!, - ), + image: img, birthdayDate: textControllerData!.text, color: textControllerColor!.text, breed: textControllerRace!.text, @@ -244,6 +244,7 @@ class PetsPageModel extends FlutterFlowModel { ptText: 'Pet cadastrado com sucesso', )); clearFields(); + onUpdatePet?.call(); }).catchError((error) { DialogUtil.errorDefault(buildContext!); });