Make autocomplete work with all known users not just contacts

codemagic-setup
Hank Grabowski 2022-12-28 16:13:17 -05:00
rodzic db5fadff9f
commit 45380df0d0
2 zmienionych plików z 12 dodań i 8 usunięć

Wyświetl plik

@ -17,13 +17,7 @@ class MentionAutocompleteOptions extends StatelessWidget {
@override
Widget build(BuildContext context) {
final users = getIt<ConnectionsManager>().getMyContacts().where((it) {
final normalizedHandle = it.handle.toLowerCase();
final normalizedName = it.name.toLowerCase();
final normalizedQuery = query.toLowerCase();
return normalizedHandle.contains(normalizedQuery) ||
normalizedName.contains(normalizedQuery);
});
final users = getIt<ConnectionsManager>().getKnownUsersByName(query);
if (users.isEmpty) return const SizedBox.shrink();
@ -46,7 +40,7 @@ class MentionAutocompleteOptions extends StatelessWidget {
),
),
LimitedBox(
maxHeight: MediaQuery.of(context).size.height * 0.3,
maxHeight: MediaQuery.of(context).size.height * 0.2,
child: ListView.separated(
padding: EdgeInsets.zero,
shrinkWrap: true,

Wyświetl plik

@ -38,6 +38,16 @@ class ConnectionsManager extends ChangeNotifier {
return updateConnection(connection);
}
List<Connection> getKnownUsersByName(String name) {
return _connectionsByName.values.where((it) {
final normalizedHandle = it.handle.toLowerCase();
final normalizedName = it.name.toLowerCase();
final normalizedQuery = name.toLowerCase();
return normalizedHandle.contains(normalizedQuery) ||
normalizedName.contains(normalizedQuery);
}).toList();
}
bool updateConnection(Connection connection) {
_connectionsById[connection.id] = connection;
_connectionsByName[connection.name] = connection;