From dc145661c82a6192540611651e9a511fef784723 Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Mon, 1 Jan 2024 09:09:39 +0300 Subject: [PATCH] chat debugging changes --- .../chat_models/chat_message_model.dart | 3 +++ lib/view_models/ad_view_model.dart | 7 +++--- lib/view_models/appointments_view_model.dart | 2 +- lib/view_models/chat_view_model.dart | 3 ++- lib/view_models/requests_view_model.dart | 3 ++- lib/views/advertisement/ads_detail_view.dart | 23 +++++++++---------- lib/views/advertisement/ads_list.dart | 2 +- .../customer_appointment_slider_widget.dart | 2 +- 8 files changed, 25 insertions(+), 20 deletions(-) diff --git a/lib/models/chat_models/chat_message_model.dart b/lib/models/chat_models/chat_message_model.dart index a9d3f6c..91834f4 100644 --- a/lib/models/chat_models/chat_message_model.dart +++ b/lib/models/chat_models/chat_message_model.dart @@ -7,6 +7,7 @@ import 'package:mc_common_app/utils/enums.dart'; class ChatMessageModel { int? id; String? senderUserID; + String? receiverUserID; String? senderName; int? messageType; ChatMessageTypeEnum? chatMessageTypeEnum; @@ -23,6 +24,7 @@ class ChatMessageModel { ChatMessageModel({ this.id, this.senderUserID, + this.receiverUserID, this.senderName, this.messageType, this.chatMessageTypeEnum, @@ -46,6 +48,7 @@ class ChatMessageModel { final myUserId = AppState().getUser.data!.userInfo!.userId.toString().toUpperCase(); id = json['id']; senderUserID = json['senderUserID']; + receiverUserID = json['receiverUserID'] ?? ""; senderName = json['senderName']; messageType = json['messageType']; chatMessageTypeEnum = (json['messageType'] as int).toChatMessageTypeEnum(); diff --git a/lib/view_models/ad_view_model.dart b/lib/view_models/ad_view_model.dart index 3120c45..6fbe9fd 100644 --- a/lib/view_models/ad_view_model.dart +++ b/lib/view_models/ad_view_model.dart @@ -15,9 +15,9 @@ import 'package:mc_common_app/models/advertisment_models/special_service_model.d import 'package:mc_common_app/models/advertisment_models/ss_car_check_schedule_model.dart'; import 'package:mc_common_app/models/advertisment_models/ss_photo_schedule_model.dart'; import 'package:mc_common_app/models/advertisment_models/vehicle_details_models.dart'; +import 'package:mc_common_app/models/appointments_models/service_schedule_model.dart'; import 'package:mc_common_app/models/general_models/enums_model.dart'; import 'package:mc_common_app/models/general_models/generic_resp_model.dart'; -import 'package:mc_common_app/models/appointments_models/service_schedule_model.dart'; import 'package:mc_common_app/models/general_models/widgets_models.dart'; import 'package:mc_common_app/repositories/ads_repo.dart'; import 'package:mc_common_app/repositories/common_repo.dart'; @@ -863,6 +863,7 @@ class AdVM extends BaseVM { isValidated = false; } else { element.partSelectedId!.errorValue = ""; + element.partSelectedId!.errorValue = ""; } } @@ -977,11 +978,9 @@ class AdVM extends BaseVM { int status = await createNewAd(); if (status != 1) { Utils.hideLoading(context); - Utils.showToast("Something went wrong!"); return; } Utils.hideLoading(context); - Utils.showToast("A new ads has been created."); currentProgressStep = AdCreationSteps.vehicleDetails; resetValues(); updateIsExploreAds(false); @@ -1313,6 +1312,8 @@ class AdVM extends BaseVM { AdsCreationPayloadModel adsCreationPayloadModel = AdsCreationPayloadModel(ads: ads, vehiclePosting: vehiclePosting); GenericRespModel respModel = await adsRepo.createNewAd(adsCreationPayloadModel: adsCreationPayloadModel); + Utils.showToast(respModel.message.toString()); + return Future.value(respModel.messageStatus); } diff --git a/lib/view_models/appointments_view_model.dart b/lib/view_models/appointments_view_model.dart index b0739bb..4f0f233 100644 --- a/lib/view_models/appointments_view_model.dart +++ b/lib/view_models/appointments_view_model.dart @@ -193,7 +193,7 @@ class AppointmentsVM extends BaseVM { Utils.showToast("${genericRespModel.message.toString()}"); return; } - if (genericRespModel.data == 1) { + if (genericRespModel.messageStatus == 1) { context.read().onNavbarTapped(1); applyFilterOnAppointmentsVM( appointmentStatusEnum: AppointmentStatusEnum.cancelled); diff --git a/lib/view_models/chat_view_model.dart b/lib/view_models/chat_view_model.dart index d3be4c2..dfeef20 100644 --- a/lib/view_models/chat_view_model.dart +++ b/lib/view_models/chat_view_model.dart @@ -105,7 +105,8 @@ class ChatVM extends ChangeNotifier { } } else { for (var msg in messages) { - int providerIndex = context.read().myFilteredRequests.indexWhere((element) => element.customerUserID == msg.senderUserID); + int providerIndex = context.read().myFilteredRequests.indexWhere((element) => element.customerUserID == msg.receiverUserID); + log("here is it: $providerIndex"); log("here is it: ${msg.senderUserID}"); log("here is it: ${context.read().myFilteredRequests.first.customerUserID.toString()}"); if (providerIndex != -1) { diff --git a/lib/view_models/requests_view_model.dart b/lib/view_models/requests_view_model.dart index 616a17b..4a9dcca 100644 --- a/lib/view_models/requests_view_model.dart +++ b/lib/view_models/requests_view_model.dart @@ -404,7 +404,7 @@ class RequestsVM extends BaseVM { notifyListeners(); } - Future onSendOfferPressed({ + Future onSendOfferPressed({ required BuildContext context, required String receiverId, required String message, @@ -437,6 +437,7 @@ class RequestsVM extends BaseVM { messageType: ChatMessageTypeEnum.freeText.getIdFromChatMessageTypeEnum(), senderName: senderName, senderUserID: senderId, + receiverUserID: receiverId ); context.read().onNewMessageReceived(messages: [chatMessageModel], context: context); if (!isFromChatScreen) { diff --git a/lib/views/advertisement/ads_detail_view.dart b/lib/views/advertisement/ads_detail_view.dart index 8b609a0..47058c8 100644 --- a/lib/views/advertisement/ads_detail_view.dart +++ b/lib/views/advertisement/ads_detail_view.dart @@ -1,9 +1,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/consts.dart'; -import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; @@ -441,8 +439,10 @@ class BuildAdDetailsActionButtonForExploreAds extends StatelessWidget { width: 55, alignment: Alignment.center, decoration: BoxDecoration(border: Border.all(color: MyColors.black, width: 2)), - child: MyAssets.whatsAppIcon.buildSvg() - ).onPress(() { + child: MyAssets.whatsAppIcon.buildSvg( + height: 35, + width: 35, + )).onPress(() { Utils.openNumberViaWhatsApp(phoneNumber: adDetailsModel.whatsAppNo ?? ""); }), ], @@ -484,13 +484,12 @@ class BuildAdDetailsActionButtonForExploreAds extends StatelessWidget { if (adDetailsModel.whatsAppNo == null) ...[ 8.width, Container( - height: 55, - width: 55, - alignment: Alignment.center, - decoration: BoxDecoration(border: Border.all(color: MyColors.black, width: 2)), - //TODO: It Will be replaced by a WhatsApp Icon - child: MyAssets.whatsAppIcon.buildSvg() - ).onPress(() { + height: 55, + width: 55, + alignment: Alignment.center, + decoration: BoxDecoration(border: Border.all(color: MyColors.black, width: 2)), + child: MyAssets.whatsAppIcon.buildSvg(height: 33, width: 35)) + .onPress(() { Utils.openNumberViaWhatsApp(phoneNumber: adDetailsModel.whatsAppNo ?? ""); }), ], @@ -531,7 +530,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget { builder: (BuildContext context) { return Consumer(builder: (BuildContext context, AdVM adVM, Widget? child) { return InfoBottomSheet( - title: "Set Date and Time".toText(fontSize: 28, isBold: true, letterSpacing: -1.44, height: 1.2), + title: "Set Date and Time".toText(fontSize: 16, isBold: true, letterSpacing: -1.44, height: 1.2), description: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/views/advertisement/ads_list.dart b/lib/views/advertisement/ads_list.dart index 9e8e0a6..fcc35ec 100644 --- a/lib/views/advertisement/ads_list.dart +++ b/lib/views/advertisement/ads_list.dart @@ -69,7 +69,7 @@ class AdCard extends StatelessWidget { Row( children: [ Image.network( - adDetails.vehicle!.image!.first.imageUrl!, + adDetails.vehicle!.image == null || adDetails.vehicle!.image!.isEmpty ? "" : adDetails.vehicle!.image!.first.imageUrl!, errorBuilder: (BuildContext context, Object exception, StackTrace? stackTrace) { return const SizedBox( width: 80, diff --git a/lib/views/appointments/widgets/customer_appointment_slider_widget.dart b/lib/views/appointments/widgets/customer_appointment_slider_widget.dart index a237e4e..d6c0eaa 100644 --- a/lib/views/appointments/widgets/customer_appointment_slider_widget.dart +++ b/lib/views/appointments/widgets/customer_appointment_slider_widget.dart @@ -33,7 +33,7 @@ class CustomerAppointmentSliderWidget extends StatelessWidget { return CustomAddButton( needsBorder: true, bgColor: MyColors.white, - onTap: () => context.read().onNavbarTapped(1), + onTap: () => context.read().onNavbarTapped(0), text: "Add New Appointment", icon: Container( height: 24,