roomSearchedChatsProvider top-level property

dynamic roomSearchedChatsProvider
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;
});