chat debugging changes

mirza_development
FaizHashmiCS22 2 years ago
parent 5eb483c3fd
commit dc145661c8

@ -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();

@ -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);
}

@ -193,7 +193,7 @@ class AppointmentsVM extends BaseVM {
Utils.showToast("${genericRespModel.message.toString()}");
return;
}
if (genericRespModel.data == 1) {
if (genericRespModel.messageStatus == 1) {
context.read<DashboardVmCustomer>().onNavbarTapped(1);
applyFilterOnAppointmentsVM(
appointmentStatusEnum: AppointmentStatusEnum.cancelled);

@ -105,7 +105,8 @@ class ChatVM extends ChangeNotifier {
}
} else {
for (var msg in messages) {
int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere((element) => element.customerUserID == msg.senderUserID);
int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere((element) => element.customerUserID == msg.receiverUserID);
log("here is it: $providerIndex");
log("here is it: ${msg.senderUserID}");
log("here is it: ${context.read<RequestsVM>().myFilteredRequests.first.customerUserID.toString()}");
if (providerIndex != -1) {

@ -404,7 +404,7 @@ class RequestsVM extends BaseVM {
notifyListeners();
}
Future<void> onSendOfferPressed({
Future<void> 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<ChatVM>().onNewMessageReceived(messages: [chatMessageModel], context: context);
if (!isFromChatScreen) {

@ -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: [

@ -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,

@ -33,7 +33,7 @@ class CustomerAppointmentSliderWidget extends StatelessWidget {
return CustomAddButton(
needsBorder: true,
bgColor: MyColors.white,
onTap: () => context.read<DashboardVmCustomer>().onNavbarTapped(1),
onTap: () => context.read<DashboardVmCustomer>().onNavbarTapped(0),
text: "Add New Appointment",
icon: Container(
height: 24,

Loading…
Cancel
Save