getReplyMessage function

dynamic getReplyMessage(
  1. String messageType,
  2. String? messageTextContent,
  3. String? contactName,
  4. String? mediaFileName,
  5. MediaChatMessage? mediaChatMessage,
  6. bool isReplying,
  7. TextStyle textStyle,
)

Implementation

getReplyMessage(
    String messageType,
    String? messageTextContent,
    String? contactName,
    String? mediaFileName,
    MediaChatMessage? mediaChatMessage,
    bool isReplying,
    TextStyle textStyle) {
  debugPrint(messageType);
  switch (messageType) {
    case Constants.mText:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mText),
          // Text(messageTextContent!),
          Expanded(
              child: Text(
            messageTextContent!,
            maxLines: 1,
            overflow: TextOverflow.ellipsis,
            style: textStyle,
          )),
        ],
      );
    case Constants.mImage:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mImage),
          const SizedBox(
            width: 5,
          ),
          Text(
            Constants.mImage.capitalizeFirst!,
            style: textStyle,
          ),
        ],
      );
    case Constants.mVideo:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mVideo),
          const SizedBox(
            width: 5,
          ),
          Text(Constants.mVideo.capitalizeFirst!, style: textStyle),
        ],
      );
    case Constants.mAudio:
      return Row(
        children: [
          isReplying
              ? MessageUtils.getMediaTypeIcon(
                  Constants.mAudio,
                  mediaChatMessage != null
                      ? mediaChatMessage.isAudioRecorded
                      : true)
              : const Offstage(),
          isReplying
              ? const SizedBox(
                  width: 5,
                )
              : const Offstage(),
          Text(
              DateTimeUtils.durationToString(Duration(
                  milliseconds: mediaChatMessage != null
                      ? mediaChatMessage.mediaDuration
                      : 0)),
              style: textStyle),
          const SizedBox(
            width: 5,
          ),
          // Text(Constants.mAudio.capitalizeFirst!),
        ],
      );
    case Constants.mContact:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mContact),
          const SizedBox(
            width: 5,
          ),
          Text("${Constants.mContact.capitalizeFirst} :", style: textStyle),
          const SizedBox(
            width: 5,
          ),
          SizedBox(
              width: 120,
              child: Text(contactName!,
                  maxLines: 1,
                  softWrap: false,
                  overflow: TextOverflow.ellipsis,
                  style: textStyle)),
        ],
      );
    case Constants.mLocation:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mLocation),
          const SizedBox(
            width: 5,
          ),
          Text(Constants.mLocation.capitalizeFirst!, style: textStyle),
        ],
      );
    case Constants.mDocument:
      return Row(
        children: [
          MessageUtils.getMediaTypeIcon(Constants.mDocument),
          const SizedBox(
            width: 5,
          ),
          Flexible(
              child: Text(mediaFileName!,
                  overflow: TextOverflow.ellipsis,
                  maxLines: 1,
                  style: textStyle)),
        ],
      );
    default:
      return const Offstage();
  }
}