setCaptionMessage function

Widget setCaptionMessage(
  1. MediaChatMessage mediaMessage,
  2. ChatMessageModel chatMessage,
  3. BuildContext context,
  4. bool showChatDeliveryIndicator, {
  5. String search = Constants.emptyString,
})

Implementation

Widget setCaptionMessage(
    MediaChatMessage mediaMessage,
    ChatMessageModel chatMessage,
    BuildContext context,
    bool showChatDeliveryIndicator,
    {String search = Constants.emptyString}) {
  return Padding(
    padding: const EdgeInsets.all(10.0),
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        search.isEmpty
            ? textMessageSpannableText(
                mediaMessage.mediaCaptionText.checkNull(),
                chatMessage.isMessageSentByMe)
            : chatSpannedText(
                mediaMessage.mediaCaptionText.checkNull(),
                search,
                TextStyle(
                    fontSize: 14,
                    color: chatMessage.isMessageSentByMe
                        ? MirrorflyUikit
                            .getTheme?.chatBubblePrimaryColor.textPrimaryColor
                        : MirrorflyUikit.getTheme?.chatBubbleSecondaryColor
                            .textPrimaryColor),
                chatMessage.isMessageSentByMe,
              ),
        Row(
          mainAxisAlignment: MainAxisAlignment.end,
          children: [
            chatMessage.isMessageStarred.value
                ? SvgPicture.asset(
                    package: package,
                    starSmallIcon,
                    colorFilter: ColorFilter.mode(
                        chatMessage.isMessageSentByMe
                            ? MirrorflyUikit.getTheme!.chatBubblePrimaryColor
                                .textSecondaryColor
                            : MirrorflyUikit.getTheme!.chatBubbleSecondaryColor
                                .textSecondaryColor,
                        BlendMode.srcIn))
                : const SizedBox.shrink(),
            const SizedBox(
              width: 5,
            ),
            Obx(() {
              return getMessageIndicator(
                  chatMessage.messageStatus.value,
                  chatMessage.isMessageSentByMe,
                  chatMessage.messageType,
                  chatMessage.isMessageRecalled.value,
                  showChatDeliveryIndicator: showChatDeliveryIndicator);
            }),
            const SizedBox(
              width: 5,
            ),
            Text(
              getChatTime(context, chatMessage.messageSentTime.toInt()),
              style: TextStyle(
                  fontSize: 12,
                  color: chatMessage.isMessageSentByMe
                      ? MirrorflyUikit
                          .getTheme?.chatBubblePrimaryColor.textSecondaryColor
                      : MirrorflyUikit.getTheme?.chatBubbleSecondaryColor
                          .textSecondaryColor),
            ),
          ],
        ),
      ],
    ),
  );
}