♻️ Better resend message
This commit is contained in:
@@ -1208,5 +1208,6 @@
|
|||||||
"enterPinToConfirmTransfer": "Enter your 6-digit PIN to confirm transfer",
|
"enterPinToConfirmTransfer": "Enter your 6-digit PIN to confirm transfer",
|
||||||
"transferCreatedSuccessfully": "Transfer created successfully!",
|
"transferCreatedSuccessfully": "Transfer created successfully!",
|
||||||
"postUpdate": "Update",
|
"postUpdate": "Update",
|
||||||
"fileMetadata": "File Metadata"
|
"fileMetadata": "File Metadata",
|
||||||
|
"resend": "Resend"
|
||||||
}
|
}
|
||||||
|
@@ -586,6 +586,8 @@ class ChatRoomScreen extends HookConsumerWidget {
|
|||||||
messageForwardingTo.value = message.toRemoteMessage();
|
messageForwardingTo.value = message.toRemoteMessage();
|
||||||
case MessageItemAction.reply:
|
case MessageItemAction.reply:
|
||||||
messageReplyingTo.value = message.toRemoteMessage();
|
messageReplyingTo.value = message.toRemoteMessage();
|
||||||
|
case MessageItemAction.resend:
|
||||||
|
messagesNotifier.retryMessage(message.id);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onJump: (messageId) {
|
onJump: (messageId) {
|
||||||
|
@@ -34,6 +34,7 @@ class MessageItemAction {
|
|||||||
static const String delete = "delete";
|
static const String delete = "delete";
|
||||||
static const String reply = "reply";
|
static const String reply = "reply";
|
||||||
static const String forward = "forward";
|
static const String forward = "forward";
|
||||||
|
static const String resend = "resend";
|
||||||
}
|
}
|
||||||
|
|
||||||
class MessageItem extends HookConsumerWidget {
|
class MessageItem extends HookConsumerWidget {
|
||||||
@@ -117,6 +118,7 @@ class MessageItem extends HookConsumerWidget {
|
|||||||
translate: translate,
|
translate: translate,
|
||||||
isMobile: isMobile,
|
isMobile: isMobile,
|
||||||
remoteMessage: remoteMessage,
|
remoteMessage: remoteMessage,
|
||||||
|
message: message,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -254,6 +256,7 @@ class MessageActionSheet extends StatefulWidget {
|
|||||||
final VoidCallback translate;
|
final VoidCallback translate;
|
||||||
final bool isMobile;
|
final bool isMobile;
|
||||||
final dynamic remoteMessage;
|
final dynamic remoteMessage;
|
||||||
|
final LocalChatMessage message;
|
||||||
|
|
||||||
const MessageActionSheet({
|
const MessageActionSheet({
|
||||||
super.key,
|
super.key,
|
||||||
@@ -265,6 +268,7 @@ class MessageActionSheet extends StatefulWidget {
|
|||||||
required this.translate,
|
required this.translate,
|
||||||
required this.isMobile,
|
required this.isMobile,
|
||||||
required this.remoteMessage,
|
required this.remoteMessage,
|
||||||
|
required this.message,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -390,6 +394,16 @@ class _MessageActionSheetState extends State<MessageActionSheet> {
|
|||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
if (widget.isCurrentUser &&
|
||||||
|
widget.message.status == MessageStatus.failed)
|
||||||
|
_ActionListTile(
|
||||||
|
leading: Icon(Symbols.refresh),
|
||||||
|
title: Text('resend'.tr()),
|
||||||
|
onTap: () {
|
||||||
|
widget.onAction!.call(MessageItemAction.resend);
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
if (widget.isCurrentUser)
|
if (widget.isCurrentUser)
|
||||||
_ActionListTile(
|
_ActionListTile(
|
||||||
leading: Icon(Symbols.delete),
|
leading: Icon(Symbols.delete),
|
||||||
@@ -1188,7 +1202,7 @@ class FileUploadProgressWidget extends StatelessWidget {
|
|||||||
'fileUploadingProgress'.tr(
|
'fileUploadingProgress'.tr(
|
||||||
args: [
|
args: [
|
||||||
(entry.key + 1).toString(),
|
(entry.key + 1).toString(),
|
||||||
entry.value.toStringAsFixed(1),
|
(entry.value * 100).toStringAsFixed(1),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
Reference in New Issue
Block a user