fix delete error

This commit is contained in:
Salvatore Giordano
2020-03-13 15:39:43 +01:00
parent ae41eb30bf
commit 18765f9823
+23 -3
View File
@@ -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_channel.dart';
import 'package:stream_chat_flutter/src/stream_chat_theme.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/src/user_avatar.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:video_player/video_player.dart'; import 'package:video_player/video_player.dart';
@@ -100,7 +101,8 @@ class _MessageWidgetState extends State<MessageWidget>
crossAxisAlignment: crossAxisAlignment:
_isMyMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start, _isMyMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
widget.message.isDeleted (widget.message.isDeleted &&
widget.message.status != MessageSendingStatus.FAILED_DELETE)
? _buildDeletedMessage(alignment) ? _buildDeletedMessage(alignment)
: _buildBubble(context), : _buildBubble(context),
if (_streamChannel.channel.config?.replies == true) if (_streamChannel.channel.config?.replies == true)
@@ -182,7 +184,8 @@ class _MessageWidgetState extends State<MessageWidget>
), ),
if (_isMyMessage && if (_isMyMessage &&
(widget.message.status == MessageSendingStatus.FAILED || (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(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
horizontal: 1.0, horizontal: 1.0,
@@ -389,6 +392,14 @@ class _MessageWidgetState extends State<MessageWidget>
); );
return; return;
} }
if (widget.message.status == MessageSendingStatus.FAILED_DELETE) {
StreamChat.of(context).client.deleteMessage(
widget.message,
channel.cid,
);
return;
}
}, },
onLongPress: () { onLongPress: () {
if (widget.message.isEphemeral || if (widget.message.isEphemeral ||
@@ -474,6 +485,14 @@ class _MessageWidgetState extends State<MessageWidget>
fontSize: 11, 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, child,
], ],
); );
@@ -1060,7 +1079,8 @@ class _MessageWidgetState extends State<MessageWidget>
bottomRight: Radius.circular(_isMyMessage ? 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) widget.message.status == MessageSendingStatus.FAILED_UPDATE ||
widget.message.status == MessageSendingStatus.FAILED_DELETE)
? Color(0xffd0021B).withAlpha(26) ? Color(0xffd0021B).withAlpha(26)
: _messageTheme.messageBackgroundColor, : _messageTheme.messageBackgroundColor,
); );