add message_reaction_modal_test

This commit is contained in:
Salvatore Giordano
2020-10-16 14:56:52 +02:00
parent 084e5eedbb
commit 747ae96168
8 changed files with 107 additions and 21 deletions
-1
View File
@@ -69,7 +69,6 @@ class MessageActionsModal extends StatelessWidget {
message.status == null))
Center(
child: ReactionPicker(
channel: channel,
message: message,
messageTheme: messageTheme,
),
+3 -6
View File
@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_flutter/src/reaction_bubble.dart';
import 'package:stream_chat_flutter/src/reaction_picker.dart';
import 'package:stream_chat_flutter/src/stream_channel.dart';
import 'package:stream_chat_flutter/src/stream_chat.dart';
import 'package:stream_chat_flutter/src/user_avatar.dart';
@@ -28,20 +27,19 @@ class MessageReactionsModal extends StatelessWidget {
Key key,
@required this.message,
@required this.messageTheme,
this.showReactions,
this.showReactions = true,
this.showDeleteMessage,
this.showEditMessage,
this.onThreadTap,
this.showReply,
this.editMessageInputBuilder,
this.messageShape,
this.reverse,
this.reverse = false,
this.onUserAvatarTap,
}) : super(key: key);
@override
Widget build(BuildContext context) {
final channel = StreamChannel.of(context).channel;
return Stack(
children: [
Positioned.fill(
@@ -70,7 +68,6 @@ class MessageReactionsModal extends StatelessWidget {
message.status == null))
Center(
child: ReactionPicker(
channel: channel,
message: message,
messageTheme: messageTheme,
),
@@ -91,7 +88,7 @@ class MessageReactionsModal extends StatelessWidget {
SizedBox(
height: 16,
),
if (message.latestReactions.isNotEmpty)
if (message.latestReactions?.isNotEmpty == true)
Container(
constraints: BoxConstraints.loose(Size.fromHeight(400)),
child: _buildReactionCard(context),
+3 -2
View File
@@ -519,8 +519,9 @@ class _MessageWidgetState extends State<MessageWidget> {
List<Widget> _parseAttachments(BuildContext context) {
final images = widget.message.attachments
.where((element) => element.type == 'image')
.toList();
?.where((element) => element.type == 'image')
?.toList() ??
[];
if (images.length > 1) {
return [
+2 -4
View File
@@ -13,13 +13,11 @@ class ReactionPicker extends StatelessWidget {
const ReactionPicker({
Key key,
@required this.message,
@required this.channel,
@required this.messageTheme,
}) : super(key: key);
final Message message;
final MessageTheme messageTheme;
final Channel channel;
@override
Widget build(BuildContext context) {
@@ -83,13 +81,13 @@ class ReactionPicker extends StatelessWidget {
/// Add a reaction to the message
void sendReaction(BuildContext context, String reactionType) {
channel.sendReaction(message, reactionType);
StreamChannel.of(context).channel.sendReaction(message, reactionType);
Navigator.of(context).pop();
}
/// Remove a reaction from the message
void removeReaction(BuildContext context, Reaction reaction) {
channel.deleteReaction(message, reaction);
StreamChannel.of(context).channel.deleteReaction(message, reaction);
Navigator.of(context).pop();
}
}
+1 -1
View File
@@ -70,7 +70,7 @@ class UserAvatar extends StatelessWidget {
: StreamChatTheme.of(context).defaultUserImage(context, user),
),
),
if (showOnlineStatus && user.online)
if (showOnlineStatus && user.online == true)
Positioned(
top: 0,
right: 0,