diff --git a/lib/ui/widgets/tablet_mode/global_search_field.dart b/lib/ui/widgets/tablet_mode/global_search_field.dart index 225d67c..464003b 100644 --- a/lib/ui/widgets/tablet_mode/global_search_field.dart +++ b/lib/ui/widgets/tablet_mode/global_search_field.dart @@ -5,6 +5,7 @@ import 'package:comunic/lists/groups_list.dart'; import 'package:comunic/lists/search_results_list.dart'; import 'package:comunic/lists/users_list.dart'; import 'package:comunic/models/search_result.dart'; +import 'package:comunic/ui/routes/main_route/main_route.dart'; import 'package:comunic/ui/widgets/account_image_widget.dart'; import 'package:comunic/ui/widgets/group_icon_widget.dart'; import 'package:comunic/utils/intl_utils.dart'; @@ -129,7 +130,10 @@ class _GlobalSearchFieldState extends State { height: 300, child: Material( elevation: 4.0, - child: _SearchResultsWidget(results: _searchResultsList), + child: _SearchResultsWidget( + results: _searchResultsList, + onTap: _removeOverlay, + ), ), )); } @@ -137,8 +141,14 @@ class _GlobalSearchFieldState extends State { class _SearchResultsWidget extends StatelessWidget { final _SearchResults results; + final Function() onTap; - const _SearchResultsWidget({Key key, this.results}) : super(key: key); + const _SearchResultsWidget({ + Key key, + @required this.results, + @required this.onTap, + }) : assert(onTap != null), + super(key: key); @override Widget build(BuildContext context) { @@ -158,6 +168,10 @@ class _SearchResultsWidget extends StatelessWidget { return ListTile( leading: AccountImageWidget(user: user), title: Text(user.displayName), + onTap: () { + MainController.of(context).openUserPage(user.id); + onTap(); + }, ); case SearchResultKind.GROUP: @@ -165,6 +179,10 @@ class _SearchResultsWidget extends StatelessWidget { return ListTile( leading: GroupIcon(group: group), title: Text(group.displayName), + onTap: () { + MainController.of(context).openGroup(group.id); + onTap(); + }, ); } throw Exception("Unreachable statement!");