diff --git a/packages/stream_chat_flutter/lib/src/message_widget.dart b/packages/stream_chat_flutter/lib/src/message_widget.dart index d8c4970e..d165e52c 100644 --- a/packages/stream_chat_flutter/lib/src/message_widget.dart +++ b/packages/stream_chat_flutter/lib/src/message_widget.dart @@ -658,7 +658,7 @@ class _MessageWidgetState extends State SizedBox(width: avatarWidth + 4), Flexible( child: PortalEntry( - visible: false, + visible: _shouldShowReactions, portal: Container( transform: Matrix4.translationValues( widget.reverse ? 12 : -12, 0, 0), @@ -1014,9 +1014,7 @@ class _MessageWidgetState extends State return AnimatedSwitcher( duration: const Duration(milliseconds: 300), - child: (widget.showReactions && - (widget.message.reactionCounts?.isNotEmpty == true) && - !widget.message.isDeleted) + child: _shouldShowReactions ? GestureDetector( onTap: () => _showMessageReactionsModalBottomSheet(context), child: ReactionBubble( @@ -1036,6 +1034,11 @@ class _MessageWidgetState extends State ); } + bool get _shouldShowReactions => + widget.showReactions && + (widget.message.reactionCounts?.isNotEmpty == true) && + !widget.message.isDeleted; + void _showMessageActionModalBottomSheet(BuildContext context) { final channel = StreamChannel.of(context).channel;