- @no_container = true
- page_title "Users"
= render "admin/dashboard/head"

%div{ class: container_class }
  .top-area
    .prepend-top-default
      = form_tag admin_users_path, method: :get do
        - if params[:filter].present?
          = hidden_field_tag "filter", h(params[:filter])
        .search-holder
          .search-field-holder
            = search_field_tag :search_query, params[:search_query], placeholder: 'Search by name, email or username', class: 'form-control search-text-input js-search-input', spellcheck: false
            = icon("search", class: "search-icon")
          .dropdown
            - toggle_text = if @sort.present? then sort_options_hash[@sort] else sort_title_name end
            = dropdown_toggle(toggle_text, { toggle: 'dropdown' })
            %ul.dropdown-menu.dropdown-menu-align-right
              %li.dropdown-header
                Sort by
              %li
                = link_to admin_users_path(sort: sort_value_name, filter: params[:filter]) do
                  = sort_title_name
                = link_to admin_users_path(sort: sort_value_recently_signin, filter: params[:filter]) do
                  = sort_title_recently_signin
                = link_to admin_users_path(sort: sort_value_oldest_signin, filter: params[:filter]) do
                  = sort_title_oldest_signin
                = link_to admin_users_path(sort: sort_value_recently_created, filter: params[:filter]) do
                  = sort_title_recently_created
                = link_to admin_users_path(sort: sort_value_oldest_created, filter: params[:filter]) do
                  = sort_title_oldest_created
                = link_to admin_users_path(sort: sort_value_recently_updated, filter: params[:filter]) do
                  = sort_title_recently_updated
                = link_to admin_users_path(sort: sort_value_oldest_updated, filter: params[:filter]) do
                  = sort_title_oldest_updated
          = link_to 'New User', new_admin_user_path, class: 'btn btn-new btn-search'

    .nav-block
      %ul.nav-links.wide.scrolling-tabs.white.scrolling-tabs
        .fade-left
        = nav_link(html_options: { class: ('active' unless params[:filter]) }) do
          = link_to admin_users_path do
            Active
            %small.badge= number_with_delimiter(User.active.count)
        = nav_link(html_options: { class: ('active' if params[:filter] == 'admins') }) do
          = link_to admin_users_path(filter: "admins") do
            Admins
            %small.badge= number_with_delimiter(User.admins.count)
        = nav_link(html_options: { class: "#{'active' if params[:filter] == 'two_factor_enabled'} filter-two-factor-enabled" }) do
          = link_to admin_users_path(filter: 'two_factor_enabled') do
            2FA Enabled
            %small.badge= number_with_delimiter(User.with_two_factor.count)
        = nav_link(html_options: { class: "#{'active' if params[:filter] == 'two_factor_disabled'} filter-two-factor-disabled" }) do
          = link_to admin_users_path(filter: 'two_factor_disabled') do
            2FA Disabled
            %small.badge= number_with_delimiter(User.without_two_factor.count)
        = nav_link(html_options: { class: ('active' if params[:filter] == 'external') }) do
          = link_to admin_users_path(filter: 'external') do
            External
            %small.badge= number_with_delimiter(User.external.count)
        = nav_link(html_options: { class: ('active' if params[:filter] == 'blocked') }) do
          = link_to admin_users_path(filter: "blocked") do
            Blocked
            %small.badge= number_with_delimiter(User.blocked.count)
        = nav_link(html_options: { class: ('active' if params[:filter] == 'wop') }) do
          = link_to admin_users_path(filter: "wop") do
            Without projects
            %small.badge= number_with_delimiter(User.without_projects.count)
        .fade-right

  %ul.flex-list.content-list
    - if @users.empty?
      %li
        .nothing-here-block No users found.
    - else
      = render partial: 'admin/users/user', collection: @users

  = paginate @users, theme: "gitlab"
