add update message

This commit is contained in:
Salvatore Giordano
2020-03-11 15:42:29 +01:00
parent 44507d51ed
commit 54f1901620
4 changed files with 27 additions and 11 deletions
-1
View File
@@ -106,7 +106,6 @@ class _ChannelListViewState extends State<ChannelListView> {
final streamChat = StreamChat.of(context);
return RefreshIndicator(
onRefresh: () async {
streamChat.clearChannels();
return streamChat.queryChannels(
filter: widget.filter,
sortOptions: widget.sort,
+4 -1
View File
@@ -664,7 +664,10 @@ class _MessageInputState extends State<MessageInput> {
sendingFuture = channel.sendMessage(message);
}
sendingFuture = StreamChat.of(context).client.updateMessage(message);
sendingFuture = StreamChat.of(context).client.updateMessage(
message,
channel.cid,
);
} else {
message = Message(
parentId: widget.parentMessage?.id,
+23 -4
View File
@@ -161,7 +161,8 @@ class _MessageWidgetState extends State<MessageWidget>
),
),
if (_isMyMessage &&
widget.message.status == MessageSendingStatus.SENDING)
(widget.message.status == MessageSendingStatus.SENDING ||
widget.message.status == MessageSendingStatus.UPDATING))
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 1.0,
@@ -177,7 +178,8 @@ class _MessageWidgetState extends State<MessageWidget>
),
),
if (_isMyMessage &&
widget.message.status == MessageSendingStatus.FAILED)
(widget.message.status == MessageSendingStatus.FAILED ||
widget.message.status == MessageSendingStatus.FAILED_UPDATE))
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 1.0,
@@ -372,8 +374,16 @@ class _MessageWidgetState extends State<MessageWidget>
),
),
onTap: () {
final channel = StreamChannel.of(context).channel;
if (widget.message.status == MessageSendingStatus.FAILED) {
StreamChannel.of(context).channel.sendMessage(widget.message);
channel.sendMessage(widget.message);
return;
}
if (widget.message.status == MessageSendingStatus.FAILED_UPDATE) {
StreamChat.of(context).client.updateMessage(
widget.message,
channel.cid,
);
return;
}
},
@@ -466,6 +476,14 @@ class _MessageWidgetState extends State<MessageWidget>
fontSize: 11,
),
),
if (widget.message.status == MessageSendingStatus.FAILED_UPDATE)
Text(
'MESSAGE UPDATE FAILED · CLICK TO TRY AGAIN',
style: _messageTheme.messageText.copyWith(
color: Colors.black.withOpacity(.5),
fontSize: 11,
),
),
MarkdownBody(
data: text,
onTapLink: (link) {
@@ -989,7 +1007,8 @@ class _MessageWidgetState extends State<MessageWidget>
topRight: Radius.circular((_isMyMessage && rectBorders) ? 2 : 16),
bottomRight: Radius.circular(_isMyMessage ? 2 : 16),
),
color: widget.message.status == MessageSendingStatus.FAILED
color: (widget.message.status == MessageSendingStatus.FAILED ||
widget.message.status == MessageSendingStatus.FAILED_UPDATE)
? Color(0xffd0021B).withAlpha(26)
: _messageTheme.messageBackgroundColor,
);
-5
View File
@@ -214,11 +214,6 @@ class StreamChatState extends State<StreamChat> {
}
}
/// Clear the current channel list
void clearChannels() {
channels.clear();
}
@override
void dispose() {
widget.client.dispose();