getReplyImageHolder function
dynamic
getReplyImageHolder(
- BuildContext context,
- ChatMessageModel chatMessageModel,
- ReplyParentChatMessage? replyChatMessageModel,
- MediaChatMessage? mediaChatMessage,
- double size,
- bool isNotChatItem,
- LocationChatMessage? locationChatMessage,
Implementation
getReplyImageHolder(BuildContext context,
ChatMessageModel chatMessageModel,
ReplyParentChatMessage? replyChatMessageModel,
MediaChatMessage? mediaChatMessage,
double size,
bool isNotChatItem,
LocationChatMessage? locationChatMessage) {
var isReply = false;
if (mediaChatMessage != null || locationChatMessage != null) {
isReply = true;
}
switch (isReply
? mediaChatMessage == null ? Constants.mLocation : mediaChatMessage.messageType
.checkNull().toUpperCase()
: replyChatMessageModel?.messageType ?? chatMessageModel.messageType.checkNull().toUpperCase()) {
case Constants.mImage:
debugPrint("reply header--> IMAGE");
return ClipRRect(
borderRadius: const BorderRadius.only(
topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: imageFromBase64String(
isReply
? mediaChatMessage!.mediaThumbImage
: replyChatMessageModel?.mediaChatMessage?.mediaThumbImage ?? chatMessageModel.mediaChatMessage!.mediaThumbImage
.checkNull(),
context,
size,
size),
);
case Constants.mLocation:
// debugPrint("location mesg--> ${locationChatMessage?.toJson().toString()}");
// debugPrint("location mesg--> ${chatMessageModel.locationChatMessage?.toJson().toString()}");
return getLocationImage(
isReply ? locationChatMessage : replyChatMessageModel?.locationChatMessage ?? chatMessageModel.locationChatMessage,
size,
size, isSelected: true);
case Constants.mVideo:
return ClipRRect(
borderRadius: const BorderRadius.only(
topRight: Radius.circular(5), bottomRight: Radius.circular(5)),
child: imageFromBase64String(
isReply
? mediaChatMessage!.mediaThumbImage
: replyChatMessageModel?.mediaChatMessage?.mediaThumbImage ?? chatMessageModel.mediaChatMessage!.mediaThumbImage,
context,
size,
size),
);
case Constants.mDocument:
debugPrint("isNotChatItem--> $isNotChatItem");
debugPrint("Document --> $isReply");
debugPrint("Document --> ${isReply
? mediaChatMessage!.mediaFileName
: replyChatMessageModel?.mediaChatMessage?.mediaFileName ?? chatMessageModel.mediaChatMessage!.mediaFileName}");
return isNotChatItem
? SizedBox(height: size)
: Container(
width: size,
height: size,
decoration: const BoxDecoration(
borderRadius: BorderRadius.only(topRight: Radius.circular(10),
bottomRight: Radius.circular(10)),
color: Colors.white,
),
child: Center(
child: getImageHolder(
isReply
? mediaChatMessage!.mediaFileName
: replyChatMessageModel?.mediaChatMessage?.mediaFileName ?? chatMessageModel.mediaChatMessage!.mediaFileName,
30),
));
case Constants.mAudio:
return isNotChatItem
? SizedBox(height: size)
: ClipRRect(
borderRadius: const BorderRadius.only(
topRight: Radius.circular(5),
bottomRight: Radius.circular(5)),
child: Container(
height: size,
width: size,
color: audioBgColor,
child: Center(
child: SvgPicture.asset(
(mediaChatMessage?.isAudioRecorded).checkNull()
? mAudioRecordIcon
: mAudioIcon,
package: package,
fit: BoxFit.contain,
colorFilter: const ColorFilter.mode(Colors.white, BlendMode.srcIn),
height: 18,
),
),
),
);
default:
debugPrint("reply header--> DEFAULT");
return SizedBox(
height: size,
);
}
}