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();
}