getAdditionalConfigurations static method

AdditionalConfigurations? getAdditionalConfigurations(
  1. BuildContext context,
  2. BaseMessage message,
  3. List<CometChatTextFormatter>? formatters,
  4. CometChatIncomingMessageBubbleStyle? incomingMessageBubbleStyle2,
  5. CometChatOutgoingMessageBubbleStyle? outgoingMessageBubbleStyle2,
  6. CometChatActionBubbleStyle? actionBubbleStyle2,
)

Implementation

static AdditionalConfigurations? getAdditionalConfigurations(
    BuildContext context,
    BaseMessage message,
    List<CometChatTextFormatter>? formatters,
    CometChatIncomingMessageBubbleStyle? incomingMessageBubbleStyle2,
    CometChatOutgoingMessageBubbleStyle? outgoingMessageBubbleStyle2,
    CometChatActionBubbleStyle? actionBubbleStyle2) {
  AdditionalConfigurations? additionalConfigurations;
  final outgoingMessageBubbleStyle =
      CometChatThemeHelper.getTheme<CometChatOutgoingMessageBubbleStyle>(
              context: context,
              defaultTheme: CometChatOutgoingMessageBubbleStyle.of)
          .merge(outgoingMessageBubbleStyle2);
  final incomingMessageBubbleStyle =
      CometChatThemeHelper.getTheme<CometChatIncomingMessageBubbleStyle>(
              context: context,
              defaultTheme: CometChatIncomingMessageBubbleStyle.of)
          .merge(incomingMessageBubbleStyle2);
  bool isSent = message.sender?.uid == CometChatUIKit.loggedInUser?.uid;

  final actionBubbleStyle =
      CometChatThemeHelper.getTheme<CometChatActionBubbleStyle>(
              context: context, defaultTheme: CometChatActionBubbleStyle.of)
          .merge(actionBubbleStyle2);

  List<CometChatTextFormatter> textFormatters =
      BubbleUIBuilder.getTextFormatters(message, formatters ?? []);

  additionalConfigurations = AdditionalConfigurations(
    textFormatters: textFormatters,
    textBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.textBubbleStyle
            : incomingMessageBubbleStyle.textBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    imageBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.imageBubbleStyle
            : incomingMessageBubbleStyle.imageBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    fileBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.fileBubbleStyle
            : incomingMessageBubbleStyle.fileBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    videoBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.videoBubbleStyle
            : incomingMessageBubbleStyle.videoBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    audioBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.audioBubbleStyle
            : incomingMessageBubbleStyle.audioBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    collaborativeDocumentBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.collaborativeDocumentBubbleStyle
            : incomingMessageBubbleStyle.collaborativeDocumentBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    collaborativeWhiteboardBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.collaborativeWhiteboardBubbleStyle
            : incomingMessageBubbleStyle.collaborativeWhiteboardBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    pollsBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.pollsBubbleStyle
            : incomingMessageBubbleStyle.pollsBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    actionBubbleStyle: actionBubbleStyle,
    deletedBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.deletedBubbleStyle
            : incomingMessageBubbleStyle.deletedBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    linkPreviewBubbleStyle: isSent
        ? outgoingMessageBubbleStyle.linkPreviewBubbleStyle
        : incomingMessageBubbleStyle.linkPreviewBubbleStyle,
    messageTranslationBubbleStyle: isSent
        ? outgoingMessageBubbleStyle.messageTranslationBubbleStyle
        : incomingMessageBubbleStyle.messageTranslationBubbleStyle,
    stickerBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.stickerBubbleStyle
            : incomingMessageBubbleStyle.stickerBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    voiceCallBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.voiceCallBubbleStyle
            : incomingMessageBubbleStyle.voiceCallBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
    videoCallBubbleStyle: (isSent
            ? outgoingMessageBubbleStyle.videoCallBubbleStyle
            : incomingMessageBubbleStyle.videoCallBubbleStyle)
        ?.copyWith(border: Border.all(color: Colors.transparent, width: 0)),
  );

  return additionalConfigurations;
}