From 4e7d69ba83fbc29cbabd3bf05ff762aba729a2c5 Mon Sep 17 00:00:00 2001 From: Bravo Date: Mon, 1 Jul 2024 11:32:16 +0700 Subject: [PATCH] feat(ui): add showFailedIndicator parameter into StreamMessageWidget --- .../lib/src/message_widget/message_widget.dart | 9 +++++++++ .../lib/src/message_widget/message_widget_content.dart | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart b/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart index 30b75717a..0deeac11d 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget/message_widget.dart @@ -98,6 +98,7 @@ class StreamMessageWidget extends StatefulWidget { this.imageAttachmentThumbnailResizeType = 'clip', this.imageAttachmentThumbnailCropType = 'center', this.attachmentActionsModalBuilder, + this.showFailedIndicator = true, }); /// {@template onMentionTap} @@ -374,6 +375,11 @@ class StreamMessageWidget extends StatefulWidget { final String /*center|top|bottom|left|right*/ imageAttachmentThumbnailCropType; + /// {@template showFailedIndicator} + /// Show the failed message indicator + /// {@endtemplate} + final bool showFailedIndicator; + /// {@template copyWith} /// Creates a copy of [StreamMessageWidget] with specified attributes /// overridden. @@ -628,6 +634,8 @@ class _StreamMessageWidgetState extends State bool get shouldShowDeleteAction => widget.showDeleteMessage || isDeleteFailed; + bool get showFailedIndicator => widget.showFailedIndicator; + @override bool get wantKeepAlive => widget.message.attachments.isNotEmpty; @@ -747,6 +755,7 @@ class _StreamMessageWidgetState extends State widget.bottomRowBuilderWithDefaultWidget, onUserAvatarTap: widget.onUserAvatarTap, userAvatarBuilder: widget.userAvatarBuilder, + showFailedIndicator: showFailedIndicator, ); }), ), diff --git a/packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart b/packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart index dd1a7b84e..47fd1fbc6 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget/message_widget_content.dart @@ -62,6 +62,7 @@ class MessageWidgetContent extends StatelessWidget { required this.showTimeStamp, required this.showUsername, required this.messageWidget, + required this.showFailedIndicator, this.onUserAvatarTap, this.borderRadiusGeometry, this.borderSide, @@ -216,6 +217,9 @@ class MessageWidgetContent extends StatelessWidget { /// {@macro userAvatarBuilder} final Widget Function(BuildContext, User)? userAvatarBuilder; + /// {@macro showFailedIndicator} + final bool showFailedIndicator; + @override Widget build(BuildContext context) { return Column( @@ -410,7 +414,7 @@ class MessageWidgetContent extends StatelessWidget { ], ), ), - if (isFailedState) + if (isFailedState && showFailedIndicator) Positioned( right: reverse ? 0 : null, left: reverse ? null : 0,