From 18765f982310377e209c5d3b8f1f67ff7c21dce2 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 13 Mar 2020 15:39:43 +0100 Subject: [PATCH] fix delete error --- lib/src/message_widget.dart | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/src/message_widget.dart b/lib/src/message_widget.dart index cd891ec0..1e152e72 100644 --- a/lib/src/message_widget.dart +++ b/lib/src/message_widget.dart @@ -16,6 +16,7 @@ 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_theme.dart'; import 'package:stream_chat_flutter/src/user_avatar.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:video_player/video_player.dart'; @@ -100,7 +101,8 @@ class _MessageWidgetState extends State crossAxisAlignment: _isMyMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start, children: [ - widget.message.isDeleted + (widget.message.isDeleted && + widget.message.status != MessageSendingStatus.FAILED_DELETE) ? _buildDeletedMessage(alignment) : _buildBubble(context), if (_streamChannel.channel.config?.replies == true) @@ -182,7 +184,8 @@ class _MessageWidgetState extends State ), if (_isMyMessage && (widget.message.status == MessageSendingStatus.FAILED || - widget.message.status == MessageSendingStatus.FAILED_UPDATE)) + widget.message.status == MessageSendingStatus.FAILED_UPDATE || + widget.message.status == MessageSendingStatus.FAILED_DELETE)) Padding( padding: const EdgeInsets.symmetric( horizontal: 1.0, @@ -389,6 +392,14 @@ class _MessageWidgetState extends State ); return; } + + if (widget.message.status == MessageSendingStatus.FAILED_DELETE) { + StreamChat.of(context).client.deleteMessage( + widget.message, + channel.cid, + ); + return; + } }, onLongPress: () { if (widget.message.isEphemeral || @@ -474,6 +485,14 @@ class _MessageWidgetState extends State fontSize: 11, ), ), + if (widget.message.status == MessageSendingStatus.FAILED_DELETE) + Text( + 'MESSAGE DELETE FAILED ยท CLICK TO TRY AGAIN', + style: _messageTheme.messageText.copyWith( + color: Colors.black.withOpacity(.5), + fontSize: 11, + ), + ), child, ], ); @@ -1060,7 +1079,8 @@ class _MessageWidgetState extends State bottomRight: Radius.circular(_isMyMessage ? 2 : 16), ), color: (widget.message.status == MessageSendingStatus.FAILED || - widget.message.status == MessageSendingStatus.FAILED_UPDATE) + widget.message.status == MessageSendingStatus.FAILED_UPDATE || + widget.message.status == MessageSendingStatus.FAILED_DELETE) ? Color(0xffd0021B).withAlpha(26) : _messageTheme.messageBackgroundColor, );