roomSearchedChatsProvider top-level property
final
Implementation
final roomSearchedChatsProvider =
FutureProvider.autoDispose<List<String>>((ref) async {
final allRoomList = await ref.watch(_briefGroupChatsWithName.future);
final foundRooms = List<String>.empty(growable: true);
final searchValue = ref.watch(roomSearchValueProvider);
if (searchValue == null || searchValue.isEmpty) {
return allRoomList.map((i) {
return i.$1;
}).toList();
}
final loweredSearchValue = searchValue.toLowerCase();
for (final item in allRoomList) {
if (item.$1.toLowerCase().contains(loweredSearchValue) ||
(item.$2 ?? '').toLowerCase().contains(loweredSearchValue)) {
foundRooms.add(item.$1);
}
}
return foundRooms;
});