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

%div{ class: container_class }
  .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'

    .top-area.scrolling-tabs-container.inner-page-scroll-tabs
      .fade-left
        = icon('angle-left')
      .fade-right
        = icon('angle-right')
      %ul.nav-links.scrolling-tabs
        = nav_link(html_options: { class: active_when(params[:filter].nil?) }) do
          = link_to admin_users_path do
            Active
            %small.badge= number_with_delimiter(User.active.count)
        = nav_link(html_options: { class: active_when(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_when(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_when(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_when(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_when(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_when(params[:filter] == 'wop') }) do
          = link_to admin_users_path(filter: "wop") do
            Without projects
            %small.badge= number_with_delimiter(User.without_projects.count)

  %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"
