diff --git a/lib/views/ui/chat_ui.dart b/lib/views/ui/chat_ui.dart index 349d70cd..9de1a230 100644 --- a/lib/views/ui/chat_ui.dart +++ b/lib/views/ui/chat_ui.dart @@ -81,6 +81,7 @@ class ChatUI extends StatelessWidget { builder: (c) => UserBottomSheet( user: controller.room.getUserByMXIDSync( controller.room.directChatMatrixID), + outerContext: context, onMention: () => controller .sendController.text += '${controller.room.directChatMatrixID} ', @@ -379,6 +380,7 @@ class ChatUI extends StatelessWidget { builder: (c) => UserBottomSheet( user: event.sender, + outerContext: context, onMention: () => controller .sendController .text += diff --git a/lib/views/ui/user_bottom_sheet_ui.dart b/lib/views/ui/user_bottom_sheet_ui.dart index cde1415b..9ab172b4 100644 --- a/lib/views/ui/user_bottom_sheet_ui.dart +++ b/lib/views/ui/user_bottom_sheet_ui.dart @@ -110,7 +110,8 @@ class UserBottomSheetUI extends StatelessWidget { title: Text(L10n.of(context).username), subtitle: Text(user.id), trailing: Icon(Icons.share_outlined), - onTap: () => FluffyShare.share(user.id, context), + onTap: () => FluffyShare.share( + user.id, controller.widget.outerContext), ), if (presence != null) ListTile( diff --git a/lib/views/user_bottom_sheet.dart b/lib/views/user_bottom_sheet.dart index 528feed4..a6e6af09 100644 --- a/lib/views/user_bottom_sheet.dart +++ b/lib/views/user_bottom_sheet.dart @@ -12,10 +12,12 @@ import 'ui/user_bottom_sheet_ui.dart'; class UserBottomSheet extends StatefulWidget { final User user; final Function onMention; + final BuildContext outerContext; const UserBottomSheet({ Key key, @required this.user, + @required this.outerContext, this.onMention, }) : super(key: key); @@ -81,8 +83,9 @@ class UserBottomSheetController extends State { break; case 'message': final roomId = await widget.user.startDirectChat(); - await AdaptivePageLayout.of(context) + await AdaptivePageLayout.of(widget.outerContext) .pushNamedAndRemoveUntilIsFirst('/rooms/$roomId'); + Navigator.of(context, rootNavigator: false).pop(); break; } } diff --git a/lib/views/widgets/list_items/participant_list_item.dart b/lib/views/widgets/list_items/participant_list_item.dart index fcff7ccf..0c577ee4 100644 --- a/lib/views/widgets/list_items/participant_list_item.dart +++ b/lib/views/widgets/list_items/participant_list_item.dart @@ -29,6 +29,7 @@ class ParticipantListItem extends StatelessWidget { context: context, builder: (c) => UserBottomSheet( user: user, + outerContext: context, ), ), title: Row(