updateMessageAllRead method

void updateMessageAllRead()

Implementation

void updateMessageAllRead() {
  if (_unreadMessageIds.isEmpty) return;

  bool hasChanges = false;
  final idsToUpdate = Set<String>.from(_unreadMessageIds);

  for (final messageId in idsToUpdate) {
    for (final group in _messageGroups) {
      final index = group.messages.indexWhere((m) => m.id == messageId);
      if (index != -1) {
        final message = group.messages[index];
        // isRead == false인 메시지만 읽음 처리
        if (message.isRead == false) {
          group.messages[index] = message.copyWith(isRead: true);
          hasChanges = true;
        }
      }
    }
  }

  _unreadMessageIds.clear();

  if (hasChanges) {
    notifyListeners();
  }
}