diff --git a/lib/pages/user_bottom_sheet.dart b/lib/pages/user_bottom_sheet.dart index 40c334846..bcd47360c 100644 --- a/lib/pages/user_bottom_sheet.dart +++ b/lib/pages/user_bottom_sheet.dart @@ -9,6 +9,7 @@ import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:vrouter/vrouter.dart'; import 'views/user_bottom_sheet_view.dart'; +import '../widgets/matrix.dart'; class UserBottomSheet extends StatefulWidget { final User user; @@ -93,6 +94,13 @@ class UserBottomSheetController extends State { .toSegments(['rooms', roomIdResult.result]); Navigator.of(context, rootNavigator: false).pop(); break; + case 'ignore': + if (await _askConfirmation()) { + await showFutureLoadingDialog( + context: context, + future: () => + Matrix.of(context).client.ignoreUser(widget.user.id)); + } } } diff --git a/lib/pages/views/user_bottom_sheet_view.dart b/lib/pages/views/user_bottom_sheet_view.dart index dd02be904..8546500d1 100644 --- a/lib/pages/views/user_bottom_sheet_view.dart +++ b/lib/pages/views/user_bottom_sheet_view.dart @@ -92,6 +92,14 @@ class UserBottomSheetView extends StatelessWidget { Icons.warning_outlined, ), ), + if (!client.ignoredUsers.contains(user.id)) + PopupMenuItem( + value: 'ignore', + child: _TextWithIcon( + L10n.of(context).ignore, + Icons.block, + ), + ), ], onSelected: controller.participantAction, ),