getReadStatusIcon method

SBUIconComponent? getReadStatusIcon(
  1. GroupChannel channel,
  2. BaseMessage? message,
  3. bool isLightTheme
)
inherited

Implementation

SBUIconComponent? getReadStatusIcon(
  GroupChannel channel,
  BaseMessage? message,
  bool isLightTheme,
) {
  if (channel.isSuper == false && channel.isBroadcast == false) {
    if (message != null && message.sendingStatus == SendingStatus.succeeded) {
      final senderId = message.sender?.userId;
      if (senderId != null && senderId == SendbirdChat.currentUser?.userId) {
        final unreadMembers = channel.getUnreadMembers(message);
        final isAllMembersRead = unreadMembers.isEmpty;

        final undeliveredMembers = channel.getUndeliveredMembers(message);
        final isAllMembersDelivered = undeliveredMembers?.isEmpty ?? false;

        return SBUIconComponent(
          iconSize: 16,
          iconData: (isAllMembersRead || isAllMembersDelivered)
              ? SBUIcons.doneAll
              : SBUIcons.done,
          iconColor: isAllMembersRead
              ? (isLightTheme
                  ? SBUColors.secondaryMain
                  : SBUColors.secondaryLight)
              : (isLightTheme
                  ? SBUColors.lightThemeTextLowEmphasis
                  : SBUColors.darkThemeTextLowEmphasis),
        );
      }
    }
  }
  return null;
}