streamTotalUnreadMessagesForUser method
Get the total unread messages for a specific user
Implementation
Stream<int> streamTotalUnreadMessagesForUser(String userId) {
return _firestore
.collection('chats')
.where('users', arrayContains: userId)
.snapshots()
.map((querySnapshot) {
int totalUnread = 0;
for (var doc in querySnapshot.docs) {
final data = doc.data();
final unreadMap =
Map<String, dynamic>.from(data['unreadMessageCount'] ?? {});
final userUnread = unreadMap[userId];
if (userUnread is int) {
totalUnread += userUnread;
}
}
return totalUnread;
});
}