- user = member.user
- return unless user || member.invite?

%li{class: "#{dom_class(member)} js-toggle-container project_member_row access-#{member.human_access.downcase}", id: dom_id(member)}
  %span.list-item-name
    - if member.user
      = image_tag avatar_icon(user.email, 16), class: "avatar s16", alt: ''
      %strong
        = link_to user.name, user_path(user)
      %span.cgray= user.username
      - if user == current_user
        %span.label.label-success It's you
      - if user.blocked?
        %label.label.label-danger
          %strong Blocked
    - else
      = image_tag avatar_icon(member.invite_email, 16), class: "avatar s16", alt: ''
      %strong
        = member.invite_email
      %span.cgray
        invited
        - if member.created_by
          by
          = link_to member.created_by.name, user_path(member.created_by)
        = time_ago_with_tooltip(member.created_at)

      - if current_user_can_admin_project
        = link_to resend_invite_namespace_project_project_member_path(@project.namespace, @project, member), method: :post, class: "btn-xs btn", title: 'Resend invite' do
          Resend invite

  - if current_user_can_admin_project
    - unless @project.personal? && user == current_user
      .pull-right
        %strong= member.human_access
        = button_tag class: "btn-xs btn js-toggle-button",
                     title: 'Edit access level', type: 'button' do
          %i.fa.fa-pencil-square-o

        &nbsp;
        - if current_user == user
          = link_to leave_namespace_project_project_members_path(@project.namespace, @project), data: { confirm: "Leave project?"}, method: :delete, class: "btn-xs btn btn-remove", title: 'Leave project' do
            %i.fa.fa-minus.fa-inverse
        - else
          = link_to namespace_project_project_member_path(@project.namespace, @project, member), data: { confirm: remove_from_project_team_message(@project, member) }, method: :delete, remote: true, class: "btn-xs btn btn-remove", title: 'Remove user from team' do
            %i.fa.fa-minus.fa-inverse

    .edit-member.hide.js-toggle-content
      %br
      = form_for member, as: :project_member, url: namespace_project_project_member_path(@project.namespace, @project, member), remote: true do |f|
        .prepend-top-10
          = f.select :access_level, options_for_select(ProjectMember.access_roles, member.access_level), {}, class: 'form-control'
        .prepend-top-10
          = f.submit 'Save', class: 'btn btn-save'
