getConversationSubtitleText method

String? getConversationSubtitleText(
  1. Conversation conversation,
  2. BuildContext context, {
  3. AdditionalConfigurations? additionalConfigurations,
})

Implementation

String? getConversationSubtitleText(Conversation conversation, BuildContext context,
    {AdditionalConfigurations? additionalConfigurations}) {
  BaseMessage? lastMessage = conversation.lastMessage;
  String? messageCategory = lastMessage?.category;

  if (messageCategory == null || lastMessage == null) {
    return "Send a message..."; // No message
  } else if (lastMessage.deletedBy != null && lastMessage.deletedBy!.trim() != '') {
    return Translations.of(context).thisMessageDeleted; // Deleted message
  } else {
    String? prefix;
    if (conversation.conversationWith is Group) {
      if (lastMessage.sender?.uid != CometChatUIKit.loggedInUser?.uid) {
        prefix = ""; // Message from others, no prefix needed
      } else {
        prefix = "${Translations.of(context).you}: "; // Message from self
      }
    }

    // Format text if applicable
    if (additionalConfigurations != null &&
        additionalConfigurations.textFormatters != null &&
        additionalConfigurations.textFormatters!.isNotEmpty &&
        lastMessage is TextMessage) {

      return "${prefix ?? ''}${(lastMessage).text}";
    } else {

      return "${prefix ?? ''}${CometChatUIKit.getDataSource().getLastConversationMessage(conversation, context)}";
    }
  }
}