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