center user avatar in modal
This commit is contained in:
@@ -25,6 +25,7 @@ class MessageActionsModal extends StatelessWidget {
|
||||
final bool showReply;
|
||||
final bool reverse;
|
||||
final ShapeBorder messageShape;
|
||||
final DisplayWidget showUserAvatar;
|
||||
|
||||
const MessageActionsModal({
|
||||
Key key,
|
||||
@@ -36,6 +37,7 @@ class MessageActionsModal extends StatelessWidget {
|
||||
this.onThreadTap,
|
||||
this.showCopyMessage = true,
|
||||
this.showReply = true,
|
||||
this.showUserAvatar = DisplayWidget.show,
|
||||
this.editMessageInputBuilder,
|
||||
this.messageShape,
|
||||
this.reverse = false,
|
||||
@@ -43,7 +45,6 @@ class MessageActionsModal extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final ownId = StreamChat.of(context).user.id;
|
||||
return GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () {
|
||||
@@ -92,10 +93,9 @@ class MessageActionsModal extends StatelessWidget {
|
||||
showReactions: false,
|
||||
showUsername: false,
|
||||
showReplyIndicator: false,
|
||||
showUserAvatar: message.user.id == ownId
|
||||
? DisplayWidget.gone
|
||||
: DisplayWidget.show,
|
||||
showUserAvatar: showUserAvatar,
|
||||
showTimestamp: false,
|
||||
translateUserAvatar: false,
|
||||
showSendingIndicator: DisplayWidget.gone,
|
||||
shape: messageShape,
|
||||
),
|
||||
|
||||
@@ -17,6 +17,7 @@ class MessageReactionsModal extends StatelessWidget {
|
||||
final MessageTheme messageTheme;
|
||||
final bool reverse;
|
||||
final bool showReactions;
|
||||
final DisplayWidget showUserAvatar;
|
||||
final ShapeBorder messageShape;
|
||||
final void Function(User) onUserAvatarTap;
|
||||
|
||||
@@ -29,12 +30,12 @@ class MessageReactionsModal extends StatelessWidget {
|
||||
this.editMessageInputBuilder,
|
||||
this.messageShape,
|
||||
this.reverse = false,
|
||||
this.showUserAvatar = DisplayWidget.show,
|
||||
this.onUserAvatarTap,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final ownId = StreamChat.of(context).user.id;
|
||||
return GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () {
|
||||
@@ -82,11 +83,10 @@ class MessageReactionsModal extends StatelessWidget {
|
||||
messageTheme: messageTheme,
|
||||
showReactions: false,
|
||||
showUsername: false,
|
||||
showUserAvatar: message.user.id == ownId
|
||||
? DisplayWidget.gone
|
||||
: DisplayWidget.show,
|
||||
showUserAvatar: showUserAvatar,
|
||||
showReplyIndicator: false,
|
||||
showTimestamp: false,
|
||||
translateUserAvatar: false,
|
||||
showSendingIndicator: DisplayWidget.gone,
|
||||
shape: messageShape,
|
||||
),
|
||||
|
||||
@@ -115,11 +115,15 @@ class MessageWidget extends StatefulWidget {
|
||||
final bool showEditMessage;
|
||||
final Map<String, AttachmentBuilder> attachmentBuilders;
|
||||
|
||||
/// Center user avatar with bottom of the message
|
||||
final bool translateUserAvatar;
|
||||
|
||||
MessageWidget({
|
||||
Key key,
|
||||
@required this.message,
|
||||
@required this.messageTheme,
|
||||
this.reverse = false,
|
||||
this.translateUserAvatar = true,
|
||||
this.shape,
|
||||
this.attachmentShape,
|
||||
this.borderSide,
|
||||
@@ -423,6 +427,10 @@ class _MessageWidgetState extends State<MessageWidget> {
|
||||
return StreamChannel(
|
||||
channel: channel,
|
||||
child: MessageActionsModal(
|
||||
showUserAvatar:
|
||||
widget.message.user.id == channel.client.state.user.id
|
||||
? DisplayWidget.gone
|
||||
: DisplayWidget.show,
|
||||
messageTheme: widget.messageTheme,
|
||||
messageShape: widget.shape ?? _getDefaultShape(context),
|
||||
reverse: widget.reverse,
|
||||
@@ -447,6 +455,10 @@ class _MessageWidgetState extends State<MessageWidget> {
|
||||
return StreamChannel(
|
||||
channel: channel,
|
||||
child: MessageReactionsModal(
|
||||
showUserAvatar:
|
||||
widget.message.user.id == channel.client.state.user.id
|
||||
? DisplayWidget.gone
|
||||
: DisplayWidget.show,
|
||||
onUserAvatarTap: widget.onUserAvatarTap,
|
||||
messageTheme: widget.messageTheme,
|
||||
messageShape: widget.shape ?? _getDefaultShape(context),
|
||||
@@ -614,7 +626,11 @@ class _MessageWidgetState extends State<MessageWidget> {
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0),
|
||||
child: Transform.translate(
|
||||
offset: Offset(
|
||||
0, widget.messageTheme.avatarTheme.constraints.maxHeight / 2),
|
||||
0,
|
||||
widget.translateUserAvatar
|
||||
? widget.messageTheme.avatarTheme.constraints.maxHeight / 2
|
||||
: 0,
|
||||
),
|
||||
child: UserAvatar(
|
||||
user: widget.message.user,
|
||||
onTap: widget.onUserAvatarTap,
|
||||
|
||||
Reference in New Issue
Block a user