💄 Confirm when deleting message
This commit is contained in:
@@ -48,6 +48,8 @@
|
|||||||
"deletePublisherHint": "Are you sure to delete this publisher? This will also deleted all the post and collections under this publisher.",
|
"deletePublisherHint": "Are you sure to delete this publisher? This will also deleted all the post and collections under this publisher.",
|
||||||
"deletePost": "Delete Post",
|
"deletePost": "Delete Post",
|
||||||
"deletePostHint": "Are you sure to delete this post?",
|
"deletePostHint": "Are you sure to delete this post?",
|
||||||
|
"deleteMessage": "Delete Message",
|
||||||
|
"deleteMessageConfirmation": "Are you sure you want to delete this message?",
|
||||||
"copyLink": "Copy Link",
|
"copyLink": "Copy Link",
|
||||||
"postCreateAccountTitle": "Thanks for joining!",
|
"postCreateAccountTitle": "Thanks for joining!",
|
||||||
"postCreateAccountNext": "What's next?",
|
"postCreateAccountNext": "What's next?",
|
||||||
|
@@ -26,6 +26,7 @@ import 'package:island/widgets/post/post_shared.dart';
|
|||||||
import 'package:material_symbols_icons/material_symbols_icons.dart';
|
import 'package:material_symbols_icons/material_symbols_icons.dart';
|
||||||
import 'package:styled_widget/styled_widget.dart';
|
import 'package:styled_widget/styled_widget.dart';
|
||||||
import 'package:island/widgets/content/sheet.dart';
|
import 'package:island/widgets/content/sheet.dart';
|
||||||
|
import 'package:island/widgets/alert.dart';
|
||||||
|
|
||||||
class MessageItemAction {
|
class MessageItemAction {
|
||||||
static const String edit = "edit";
|
static const String edit = "edit";
|
||||||
@@ -369,6 +370,17 @@ class MessageHoverActionMenu extends StatelessWidget {
|
|||||||
required this.remoteMessage,
|
required this.remoteMessage,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Future<void> _handleDelete(BuildContext context) async {
|
||||||
|
final confirmed = await showConfirmAlert(
|
||||||
|
'deleteMessageConfirmation'.tr(),
|
||||||
|
'deleteMessage'.tr(),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (confirmed) {
|
||||||
|
onAction?.call(MessageItemAction.delete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
@@ -397,7 +409,7 @@ class MessageHoverActionMenu extends StatelessWidget {
|
|||||||
if (isCurrentUser)
|
if (isCurrentUser)
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Symbols.delete, size: 16),
|
icon: Icon(Symbols.delete, size: 16),
|
||||||
onPressed: () => onAction?.call(MessageItemAction.delete),
|
onPressed: () => _handleDelete(context),
|
||||||
tooltip: 'delete'.tr(),
|
tooltip: 'delete'.tr(),
|
||||||
padding: const EdgeInsets.all(8),
|
padding: const EdgeInsets.all(8),
|
||||||
constraints: const BoxConstraints(minWidth: 32, minHeight: 32),
|
constraints: const BoxConstraints(minWidth: 32, minHeight: 32),
|
||||||
|
Reference in New Issue
Block a user