From 0425d6774729496675f5bfffe277bac9786e4e4f Mon Sep 17 00:00:00 2001 From: Gordon Hayes Date: Wed, 8 Sep 2021 14:22:04 +0200 Subject: [PATCH] fix: show portal conditionally --- .../stream_chat_flutter/lib/src/message_widget.dart | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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;