- breadcrumb_title _("Dashboard")
- page_title _("Dashboard")
- billable_users_url = help_page_path('subscriptions/self_managed/index', anchor: 'billable-users')
- billable_users_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer nofollow">'.html_safe % { url: billable_users_url }

- if @notices
  - @notices.each do |notice|
    .js-vue-alert{ 'v-cloak': true, data: { variant: notice[:type],
      dismissible: true.to_s } }
      = notice[:message].html_safe

- if @license.present?
  .license-panel.gl-mt-5
    = render_if_exists 'admin/licenses/summary'
    = render_if_exists 'admin/licenses/breakdown'

.admin-dashboard.gl-mt-3
  .row
    .col-sm-4
      .info-well.dark-well.flex-fill
        .well-segment.well-centered
          = link_to admin_projects_path do
            %h3.text-center
              = s_('AdminArea|Projects: %{number_of_projects}') % { number_of_projects: approximate_count_with_delimiters(@counts, Project) }
          %hr
          = link_to(s_('AdminArea|New project'), new_project_path, class: "btn gl-button btn-success gl-w-full")
    .col-sm-4
      .info-well.dark-well
        .well-segment.well-centered.gl-text-center
          = link_to admin_users_path do
            %h3.gl-display-inline-block.gl-mb-0
              = s_('AdminArea|Users: %{number_of_users}') % { number_of_users: approximate_count_with_delimiters(@counts, User) }

          %span.gl-outline-0.gl-ml-2{ href: "#", tabindex: "0", data: { container: "body",
            toggle: "popover",
            placement: "top",
            html: "true",
            trigger: "focus",
            content: s_("AdminArea|All users created in the instance, including users who are not %{billable_users_link_start}billable users%{billable_users_link_end}.").html_safe % { billable_users_link_start: billable_users_link_start, billable_users_link_end: '</a>'.html_safe },
          } }
            = sprite_icon('question', size: 16, css_class: 'gl-text-gray-700 gl-mb-1')

          %hr
          .btn-group.d-flex{ role: 'group' }
            = link_to s_('AdminArea|New user'), new_admin_user_path, class: "btn gl-button btn-success gl-w-full"
            = link_to s_('AdminArea|Users statistics'), admin_dashboard_stats_path, class: 'btn gl-button btn-info gl-w-full'
    .col-sm-4
      .info-well.dark-well
        .well-segment.well-centered
          = link_to admin_groups_path do
            %h3.text-center
              = s_('AdminArea|Groups: %{number_of_groups}') % { number_of_groups: approximate_count_with_delimiters(@counts, Group) }
          %hr
          = link_to s_('AdminArea|New group'), new_admin_group_path, class: "btn gl-button btn-success gl-w-full"
  .row
    .col-md-4
      #js-admin-statistics-container
    .col-md-4
      .info-well
        .well-segment.admin-well.admin-well-features
          %h4= s_('AdminArea|Features')
          = feature_entry(_('Sign up'),
            href: general_admin_application_settings_path(anchor: 'js-signup-settings'),
            enabled: allow_signup?)

          = feature_entry(_('LDAP'),
            enabled: Gitlab.config.ldap.enabled,
            doc_href: help_page_path('administration/auth/ldap/index.md'))

          = feature_entry(_('Gravatar'),
            href: general_admin_application_settings_path(anchor: 'js-account-settings'),
            enabled: gravatar_enabled?)

          = feature_entry(_('OmniAuth'),
            href: general_admin_application_settings_path(anchor: 'js-signin-settings'),
            enabled: Gitlab::Auth.omniauth_enabled?,
            doc_href: help_page_path('integration/omniauth'))

          = feature_entry(_('Reply by email'),
            enabled: Gitlab::IncomingEmail.enabled?,
            doc_href: help_page_path('administration/reply_by_email'))

          = render_if_exists 'admin/dashboard/elastic_and_geo'

          = feature_entry(_('Container Registry'),
            href: ci_cd_admin_application_settings_path(anchor: 'js-registry-settings'),
            enabled: Gitlab.config.registry.enabled,
            doc_href: help_page_path('user/packages/container_registry/index'))

          = feature_entry(_('Gitlab Pages'),
            enabled: Gitlab.config.pages.enabled,
            doc_href: help_instance_configuration_url)

          = feature_entry(_('Shared Runners'),
            href: admin_runners_path,
            enabled: Gitlab.config.gitlab_ci.shared_runners_enabled)
    .col-md-4
      .info-well
        .well-segment.admin-well
          %h4
            = s_('AdminArea|Components')
            - if Gitlab::CurrentSettings.version_check_enabled
              .float-right
                = version_status_badge
          %p
            = link_to _('GitLab'), general_admin_application_settings_path
            %span.float-right
              = Gitlab::VERSION
              = "(#{Gitlab.revision})"
          %p
            = _('GitLab Shell')
            %span.float-right
              = Gitlab::Shell.version
          %p
            = _('GitLab Workhorse')
            %span.float-right
              = gitlab_workhorse_version
          %p
            = _('GitLab API')
            %span.float-right
              = API::API::version
          - if Gitlab.config.pages.enabled
            %p
              = _('GitLab Pages')
              %span.float-right
                = Gitlab::Pages::VERSION

          = render_if_exists 'admin/dashboard/geo'

          %p
            = _('Ruby')
            %span.float-right
              #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}
          %p
            = _('Rails')
            %span.float-right
              #{Rails::VERSION::STRING}
          %p
            = Gitlab::Database.human_adapter_name
            %span.float-right
              = Gitlab::Database.version
          %p
            = _('Redis')
            %span.float-right
              = @redis_versions&.join(", ")
          %p
            = link_to _("Gitaly Servers"), admin_gitaly_servers_path
  .row
    .col-md-4
      .info-well
        .well-segment.admin-well
          %h4= s_('AdminArea|Latest projects')
          - @projects.each do |project|
            %p
              = link_to project.full_name, admin_project_path(project), class: 'str-truncated-60'
              %span.light.float-right
                #{time_ago_with_tooltip(project.created_at)}
    .col-md-4
      .info-well
        .well-segment.admin-well
          %h4= s_('AdminArea|Latest users')
          - @users.each do |user|
            %p
              = link_to [:admin, user], class: 'str-truncated-60' do
                = user.name
              %span.light.float-right
                #{time_ago_with_tooltip(user.created_at)}
    .col-md-4
      .info-well
        .well-segment.admin-well
          %h4= s_('AdminArea|Latest groups')
          - @groups.each do |group|
            %p
              = link_to [:admin, group], class: 'str-truncated-60' do
                = group.full_name
              %span.light.float-right
                #{time_ago_with_tooltip(group.created_at)}