filtered deleted messages from search and chat view, refactored chat bubble styling for deleted comments, and updated tests

This commit is contained in:
2026-05-09 22:28:26 +02:00
parent 7d02e70459
commit 79a6d9a594
4 changed files with 65 additions and 35 deletions
+27 -12
View File
@@ -148,11 +148,33 @@ class _ChatBubbleState extends State<ChatBubble>
).asDialog(context);
}
bool get _rendersAsCommentBubble =>
widget.bubbleData.messageType ==
GetRoomResponseObjectMessageType.comment ||
widget.bubbleData.messageType ==
GetRoomResponseObjectMessageType.deletedComment;
TextStyle? _messageTextStyle(BuildContext context) {
final theme = Theme.of(context);
switch (widget.bubbleData.messageType) {
case GetRoomResponseObjectMessageType.system:
return theme.textTheme.bodySmall;
case GetRoomResponseObjectMessageType.deletedComment:
return theme.textTheme.bodyMedium?.copyWith(
color: theme.hintColor,
fontStyle: FontStyle.italic,
);
case GetRoomResponseObjectMessageType.comment:
case GetRoomResponseObjectMessageType.voiceMessage:
case GetRoomResponseObjectMessageType.command:
return null;
}
}
BubbleStyle _getStyle() {
final styles = ChatBubbleStyles(context);
final BubbleStyle base;
if (widget.bubbleData.messageType !=
GetRoomResponseObjectMessageType.comment) {
if (!_rendersAsCommentBubble) {
base = styles.getSystemStyle();
} else {
base = widget.isSender
@@ -210,14 +232,11 @@ class _ChatBubbleState extends State<ChatBubble>
originalData: widget.bubbleData.messageParameters,
);
final showActorDisplayName =
widget.bubbleData.messageType ==
GetRoomResponseObjectMessageType.comment &&
_rendersAsCommentBubble &&
widget.chatData.type != GetRoomResponseObjectConversationType.oneToOne;
final showBubbleTime =
widget.bubbleData.messageType !=
GetRoomResponseObjectMessageType.system &&
widget.bubbleData.messageType !=
GetRoomResponseObjectMessageType.deletedComment;
GetRoomResponseObjectMessageType.system;
final parent = widget.bubbleData.parent;
final actorBaseStyle = TextStyle(
@@ -294,11 +313,7 @@ class _ChatBubbleState extends State<ChatBubble>
timeText: timeText,
messageWidget: message.getWidget(
highlightQuery: widget.highlightQuery,
style:
widget.bubbleData.messageType ==
GetRoomResponseObjectMessageType.system
? Theme.of(context).textTheme.bodySmall
: null,
style: _messageTextStyle(context),
),
parent: parent,
bubbleData: widget.bubbleData,