getDefaultGroupMemberOptions static method

List<CometChatGroupMemberOption> getDefaultGroupMemberOptions({
  1. User? loggedInUser,
  2. Group? group,
  3. GroupMember? member,
  4. required BuildContext context,
  5. bool? hideKickMemberOption,
  6. bool? hideBanMemberOption,
  7. bool? hideScopeChangeOption,
})

Implementation

static List<CometChatGroupMemberOption> getDefaultGroupMemberOptions({
  User? loggedInUser,
  Group? group,
  GroupMember? member,
  required BuildContext context,
  bool? hideKickMemberOption,
  bool? hideBanMemberOption,
  bool? hideScopeChangeOption,
}) {
  return [
    if (hideScopeChangeOption != true) getScopeChangeOption(context),
    if (hideBanMemberOption != true) getBanOption(context),
    if (hideKickMemberOption != true) getKickOption(context),
  ].where((option) {
    final result = validateGroupMemberOptions(
      loggedInUserScope: loggedInUser?.uid == group?.owner
          ? GroupMemberScope.owner
          : group?.scope ?? GroupMemberScope.participant,
      memberScope: member?.uid == group?.owner
          ? GroupMemberScope.owner
          : member?.scope ?? GroupMemberScope.participant,
      optionId: option.id,
    );
    if (option.id == GroupMemberOptionConstants.changeScope) {
      return result.isNotEmpty;
    } else {
      return result;
    }
  }).toList();
}