added docs and reactions modal

This commit is contained in:
Deven Joshi
2021-11-09 16:16:11 +05:30
parent 3460164b75
commit 13b0fa0a4c
2 changed files with 75 additions and 21 deletions
@@ -18,7 +18,7 @@ class MessageReactionsModal extends StatelessWidget {
required this.message,
required this.messageWidget,
required this.messageTheme,
this.showReactions = true,
this.showReactions,
this.reverse = false,
this.onUserAvatarTap,
}) : super(key: key);
@@ -36,7 +36,7 @@ class MessageReactionsModal extends StatelessWidget {
final bool reverse;
/// Flag to show reactions on message
final bool showReactions;
final bool? showReactions;
/// Callback when user avatar is tapped
final void Function(User)? onUserAvatarTap;
@@ -45,6 +45,16 @@ class MessageReactionsModal extends StatelessWidget {
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
final user = StreamChat.of(context).currentUser;
final _userPermissions = StreamChannel.of(context)
.channel
.state
?.channelState
.channel
?.ownCapabilities ??
[];
final hasReactionPermission =
_userPermissions.contains(PermissionType.sendReaction);
final roughMaxSize = size.width * 2 / 3;
var messageTextLength = message.text!.length;
@@ -76,7 +86,7 @@ class MessageReactionsModal extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
if (showReactions &&
if ((showReactions ?? hasReactionPermission) &&
(message.status == MessageSendingStatus.sent))
Align(
alignment: Alignment(