diff --git a/packages/stream_chat_flutter/lib/src/message_input.dart b/packages/stream_chat_flutter/lib/src/message_input.dart index 91f16b7b..c71fd341 100644 --- a/packages/stream_chat_flutter/lib/src/message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input.dart @@ -1474,6 +1474,7 @@ class MessageInputState extends State { .any((element) => element.ogScrapeUrl != null) == true; return QuotedMessageWidget( + reverse: true, showBorder: !containsUrl, message: widget.quotedMessage!, messageTheme: StreamChatTheme.of(context).otherMessageTheme, diff --git a/packages/stream_chat_flutter/lib/src/quoted_message_widget.dart b/packages/stream_chat_flutter/lib/src/quoted_message_widget.dart index a7c7c798..4b45494c 100644 --- a/packages/stream_chat_flutter/lib/src/quoted_message_widget.dart +++ b/packages/stream_chat_flutter/lib/src/quoted_message_widget.dart @@ -102,21 +102,24 @@ class QuotedMessageWidget extends StatelessWidget { bool get _containsText => message.text?.isNotEmpty == true; @override - Widget build(BuildContext context) => Padding( - padding: padding, - child: InkWell( - onTap: onTap, - child: Row( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisSize: MainAxisSize.min, - children: [ - Flexible(child: _buildMessage(context)), - const SizedBox(width: 8), - if (message.user != null) _buildUserAvatar(), - ], - ), + Widget build(BuildContext context) { + final children = [ + Flexible(child: _buildMessage(context)), + const SizedBox(width: 8), + if (message.user != null) _buildUserAvatar(), + ]; + return Padding( + padding: padding, + child: InkWell( + onTap: onTap, + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.min, + children: reverse ? children.reversed.toList() : children, ), - ); + ), + ); + } Widget _buildMessage(BuildContext context) { final isOnlyEmoji = message.text!.isOnlyEmoji;