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;
}