Merge pull request #901 from GetStream/fix/888
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
## Upcoming
|
||||
|
||||
🐞 Fixed
|
||||
|
||||
- [[#888]](https://github.com/GetStream/stream-chat-flutter/issues/888) Fix `unban` command not working in `MessageInput`.
|
||||
|
||||
## 3.4.0
|
||||
- Updated `stream_chat_flutter_core` dependency to [`3.4.0`](https://pub.dev/packages/stream_chat_flutter_core/changelog).
|
||||
|
||||
|
||||
@@ -1816,6 +1816,8 @@ class MessageInputState extends State<MessageInput> {
|
||||
|
||||
_mentionedUsers.clear();
|
||||
|
||||
message = _replaceUserNameWithId(message);
|
||||
|
||||
try {
|
||||
Future sendingFuture;
|
||||
if (widget.editMessage == null ||
|
||||
@@ -2081,3 +2083,21 @@ class _CountdownButton extends StatelessWidget {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Message _replaceUserNameWithId(Message message) {
|
||||
final mentionedUsers = message.mentionedUsers;
|
||||
if (mentionedUsers.isEmpty) return message;
|
||||
|
||||
var messageTextToSend = message.text;
|
||||
if (messageTextToSend == null) return message;
|
||||
|
||||
for (final user in mentionedUsers.toSet()) {
|
||||
final userName = user.name;
|
||||
messageTextToSend = messageTextToSend!.replaceAll(
|
||||
'@$userName',
|
||||
'@${user.id}',
|
||||
);
|
||||
}
|
||||
|
||||
return message.copyWith(text: messageTextToSend);
|
||||
}
|
||||
|
||||
@@ -84,9 +84,10 @@ class MessageText extends StatelessWidget {
|
||||
String _replaceMentions(String text) {
|
||||
var messageTextToRender = text;
|
||||
for (final user in message.mentionedUsers.toSet()) {
|
||||
final userId = user.id;
|
||||
final userName = user.name;
|
||||
messageTextToRender = messageTextToRender.replaceAll(
|
||||
'@$userName',
|
||||
'@$userId',
|
||||
'[@$userName](@${userName.replaceAll(' ', '')})',
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user