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

%div{ class: container_class }

  %p.prepend-top-default
    %span
      To register a new runner you should enter the following registration token.
      With this token the runner will request a unique runner token and use that for future communication.
      %br
      Registration token is
      %code{ id: 'runners-token' } #{current_application_settings.runners_registration_token}

  .bs-callout.clearfix
    .pull-left
      %p
        You can reset runners registration token by pressing a button below.
      %p
        = button_to reset_runners_token_admin_application_settings_path,
          method: :put, class: 'btn btn-default',
          data: { confirm: 'Are you sure you want to reset registration token?' } do
          = icon('refresh')
          Reset runners registration token

  .bs-callout
    %p
      A 'runner' is a process which runs a build.
      You can setup as many runners as you need.
      %br
      Runners can be placed on separate users, servers, and even on your local machine.
      %br

    %div
      %span Each runner can be in one of the following states:
      %ul
        %li
          %span.label.label-success shared
          \- run builds from all unassigned projects
        %li
          %span.label.label-info specific
          \- run builds from assigned projects
        %li
          %span.label.label-warning locked
          \- runner cannot be assigned to other projects
        %li
          %span.label.label-danger paused
          \- runner will not receive any new builds

  .append-bottom-20.clearfix
    .pull-left
      = form_tag admin_runners_path, id: 'runners-search', class: 'form-inline', method: :get do
        .form-group
          = search_field_tag :search, params[:search], class: 'form-control', placeholder: 'Runner description or token', spellcheck: false
        = submit_tag 'Search', class: 'btn'

    .pull-right.light
      Runners with last contact less than a minute ago: #{@active_runners_cnt}

  %br

  .table-holder
    %table.table
      %thead
        %tr
          %th Type
          %th Runner token
          %th Description
          %th Projects
          %th Builds
          %th Tags
          %th Last contact
          %th

      - @runners.each do |runner|
        = render "admin/runners/runner", runner: runner
  = paginate @runners
