messageSummary function

String messageSummary(
  1. Message? message, {
  2. NexconnChatUILocalizations? localizations,
})

Implementation

String messageSummary(
  Message? message, {
  NexconnChatUILocalizations? localizations,
}) {
  final l10n = localizations ?? NexconnChatUILocalizationsEn();
  if (message == null) {
    return l10n.chatMessageListEmpty;
  }
  if (message is TextMessage) {
    return message.text ?? '';
  }
  if (message is ReferenceMessage) {
    return message.text ?? l10n.messageSummaryReply;
  }
  if (message is ImageMessage) {
    return l10n.messageSummaryImage;
  }
  if (message is GIFMessage) {
    return l10n.messageSummaryGif;
  }
  if (message is HDVoiceMessage) {
    return l10n.messageSummaryVoice;
  }
  if (message is ShortVideoMessage) {
    return l10n.messageSummaryVideo;
  }
  if (message is FileMessage) {
    final name = message.name?.trim();
    return name == null || name.isEmpty
        ? l10n.messageSummaryFile
        : '${l10n.messageSummaryFile} $name';
  }
  if (message is LocationMessage) {
    return l10n.messageSummaryLocation;
  }
  if (message is CombineMessage) {
    return l10n.messageSummaryCombinedForward;
  }
  if (message is GroupNotificationMessage) {
    return l10n.messageSummaryGroupNotification;
  }
  if (message is CustomMessage) {
    final summary = _customGroupNotificationSummary(message, l10n);
    if (summary != null) {
      return summary;
    }
  }
  if (message.messageType == MessageType.recall) {
    return l10n.messageDeletedForEveryone;
  }
  return '[${message.messageType?.name ?? l10n.messageSummaryUnknown}]';
}