getAdditionalConfigurations static method
AdditionalConfigurations?
getAdditionalConfigurations(
- BuildContext context,
- BaseMessage message,
- List<
CometChatTextFormatter> ? formatters, - CometChatIncomingMessageBubbleStyle? incomingMessageBubbleStyle2,
- CometChatOutgoingMessageBubbleStyle? outgoingMessageBubbleStyle2,
- 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;
}