listenToFriendRequests method

void listenToFriendRequests(
  1. String userId
)

Listens for incoming friend requests directed at userId.

Populates the friendRequests list with pending requests.

Implementation

void listenToFriendRequests(String userId) {
  isLoadingRequests.value = true;
  friendRequests.clear();

  final userRef = FirebaseFirestore.instance
      .collection('users')
      .doc(userId);
  final friendshipsRef = FirebaseFirestore.instance.collection('friendships');

  final requestsQuery = friendshipsRef
      .where('receiver', isEqualTo: userRef)
      .where('status', isEqualTo: 'pending')
      .snapshots();

  _requestsSubscription?.cancel();

  _requestsSubscription = requestsQuery.listen((snapshot) {
    friendRequests.value = snapshot.docs;
    isLoadingRequests.value = false;
  });
}