.nav-sidebar.qa-admin-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?) } .nav-sidebar-inner-scroll .context-header = link_to admin_root_path, title: _('Admin Overview') do .avatar-container.s40.settings-avatar = sprite_icon('admin', size: 24) .sidebar-context-title = _('Admin Area') %ul.sidebar-top-level-items = nav_link(controller: %w(dashboard admin admin/projects users groups jobs runners gitaly_servers), html_options: {class: 'home'}) do = link_to admin_root_path, class: 'shortcuts-tree' do .nav-icon-container = sprite_icon('overview') %span.nav-item-name = _('Overview') %ul.sidebar-sub-level-items = nav_link(controller: %w(dashboard admin admin/projects users groups jobs runners gitaly_servers), html_options: { class: "fly-out-top-item" } ) do = link_to admin_root_path do %strong.fly-out-top-item-name = _('Overview') %li.divider.fly-out-top-item = nav_link(controller: :dashboard, html_options: {class: 'home'}) do = link_to admin_root_path, title: _('Overview') do %span = _('Dashboard') = nav_link(controller: [:admin, 'admin/projects']) do = link_to admin_projects_path, title: _('Projects') do %span = _('Projects') = nav_link(controller: :users) do = link_to admin_users_path, title: _('Users') do %span = _('Users') = nav_link(controller: :groups) do = link_to admin_groups_path, title: _('Groups') do %span = _('Groups') = nav_link path: 'jobs#index' do = link_to admin_jobs_path, title: _('Jobs') do %span = _('Jobs') = nav_link path: ['runners#index', 'runners#show'] do = link_to admin_runners_path, title: _('Runners') do %span = _('Runners') = nav_link(controller: :gitaly_servers) do = link_to admin_gitaly_servers_path, title: 'Gitaly Servers' do %span = _('Gitaly Servers') = nav_link(controller: admin_monitoring_nav_links) do = link_to admin_system_info_path do .nav-icon-container = sprite_icon('monitor') %span.nav-item-name = _('Monitoring') %ul.sidebar-sub-level-items = nav_link(controller: %w(system_info background_jobs logs health_check requests_profiles), html_options: { class: "fly-out-top-item" } ) do = link_to admin_system_info_path do %strong.fly-out-top-item-name = _('Monitoring') %li.divider.fly-out-top-item = nav_link(controller: :system_info) do = link_to admin_system_info_path, title: _('System Info') do %span = _('System Info') = nav_link(controller: :background_jobs) do = link_to admin_background_jobs_path, title: _('Background Jobs') do %span = _('Background Jobs') = nav_link(controller: :logs) do = link_to admin_logs_path, title: _('Logs') do %span = _('Logs') = nav_link(controller: :health_check) do = link_to admin_health_check_path, title: _('Health Check') do %span = _('Health Check') = nav_link(controller: :requests_profiles) do = link_to admin_requests_profiles_path, title: _('Requests Profiles') do %span = _('Requests Profiles') - if Gitlab::CurrentSettings.current_application_settings.grafana_enabled? = nav_link do = link_to Gitlab::CurrentSettings.current_application_settings.grafana_url, target: '_blank', title: _('Metrics Dashboard') do %span = _('Metrics Dashboard') = render_if_exists 'layouts/nav/ee/admin/new_monitoring_sidebar' = nav_link(controller: :broadcast_messages) do = link_to admin_broadcast_messages_path do .nav-icon-container = sprite_icon('messages') %span.nav-item-name = _('Messages') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :broadcast_messages, html_options: { class: "fly-out-top-item" } ) do = link_to admin_broadcast_messages_path do %strong.fly-out-top-item-name = _('Messages') = nav_link(controller: [:hooks, :hook_logs]) do = link_to admin_hooks_path do .nav-icon-container = sprite_icon('hook') %span.nav-item-name = _('System Hooks') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: [:hooks, :hook_logs], html_options: { class: "fly-out-top-item" } ) do = link_to admin_hooks_path do %strong.fly-out-top-item-name = _('System Hooks') = nav_link(controller: :applications) do = link_to admin_applications_path do .nav-icon-container = sprite_icon('applications') %span.nav-item-name = _('Applications') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :applications, html_options: { class: "fly-out-top-item" } ) do = link_to admin_applications_path do %strong.fly-out-top-item-name = _('Applications') = nav_link(controller: :abuse_reports) do = link_to admin_abuse_reports_path do .nav-icon-container = sprite_icon('slight-frown') %span.nav-item-name = _('Abuse Reports') %span.badge.badge-pill.count= number_with_delimiter(AbuseReport.count(:all)) %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :abuse_reports, html_options: { class: "fly-out-top-item" } ) do = link_to admin_abuse_reports_path do %strong.fly-out-top-item-name = _('Abuse Reports') %span.badge.badge-pill.count.merge_counter.js-merge-counter.fly-out-badge= number_with_delimiter(AbuseReport.count(:all)) = render_if_exists 'layouts/nav/sidebar/licenses_link' - if instance_clusters_enabled? = nav_link(controller: :clusters) do = link_to admin_clusters_path do .nav-icon-container = sprite_icon('cloud-gear') %span.nav-item-name = _('Kubernetes') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :clusters, html_options: { class: "fly-out-top-item" } ) do = link_to admin_clusters_path do %strong.fly-out-top-item-name = _('Kubernetes') - if akismet_enabled? = nav_link(controller: :spam_logs) do = link_to admin_spam_logs_path do .nav-icon-container = sprite_icon('spam') %span.nav-item-name = _('Spam Logs') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :spam_logs, html_options: { class: "fly-out-top-item" } ) do = link_to admin_spam_logs_path do %strong.fly-out-top-item-name = _('Spam Logs') = render_if_exists 'layouts/nav/sidebar/push_rules_link' = render_if_exists 'layouts/nav/ee/admin/geo_sidebar' = nav_link(controller: :deploy_keys) do = link_to admin_deploy_keys_path do .nav-icon-container = sprite_icon('key') %span.nav-item-name = _('Deploy Keys') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :deploy_keys, html_options: { class: "fly-out-top-item" } ) do = link_to admin_deploy_keys_path do %strong.fly-out-top-item-name = _('Deploy Keys') = nav_link(controller: :services) do = link_to admin_application_settings_services_path do .nav-icon-container = sprite_icon('template') %span.nav-item-name = _('Service Templates') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :services, html_options: { class: "fly-out-top-item" } ) do = link_to admin_application_settings_services_path do %strong.fly-out-top-item-name = _('Service Templates') = nav_link(controller: :labels) do = link_to admin_labels_path do .nav-icon-container = sprite_icon('labels') %span.nav-item-name = _('Labels') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :labels, html_options: { class: "fly-out-top-item" } ) do = link_to admin_labels_path do %strong.fly-out-top-item-name = _('Labels') = nav_link(controller: :appearances) do = link_to admin_appearances_path do .nav-icon-container = sprite_icon('appearance') %span.nav-item-name = _('Appearance') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(controller: :appearances, html_options: { class: "fly-out-top-item" } ) do = link_to admin_appearances_path do %strong.fly-out-top-item-name = _('Appearance') = nav_link(controller: :application_settings) do = link_to admin_application_settings_path do .nav-icon-container = sprite_icon('settings') %span.nav-item-name.qa-admin-settings-item = _('Settings') %ul.sidebar-sub-level-items.qa-admin-sidebar-submenu = nav_link(controller: :application_settings, html_options: { class: "fly-out-top-item" } ) do = link_to admin_application_settings_path do %strong.fly-out-top-item-name = _('Settings') %li.divider.fly-out-top-item = nav_link(path: 'application_settings#show') do = link_to general_admin_application_settings_path, title: _('General'), class: 'qa-admin-settings-general-item' do %span = _('General') = nav_link(path: 'application_settings#integrations') do = link_to integrations_admin_application_settings_path, title: _('Integrations'), data: { qa_selector: 'integration_settings_link' } do %span = _('Integrations') = nav_link(path: 'application_settings#repository') do = link_to repository_admin_application_settings_path, title: _('Repository'), class: 'qa-admin-settings-repository-item' do %span = _('Repository') - if template_exists?('admin/application_settings/templates') = nav_link(path: 'application_settings#templates') do = link_to templates_admin_application_settings_path, title: _('Templates'), class: 'qa-admin-settings-template-item' do %span = _('Templates') = nav_link(path: 'application_settings#ci_cd') do = link_to ci_cd_admin_application_settings_path, title: _('CI/CD') do %span = _('CI/CD') = nav_link(path: 'application_settings#reporting') do = link_to reporting_admin_application_settings_path, title: _('Reporting') do %span = _('Reporting') = nav_link(path: 'application_settings#metrics_and_profiling') do = link_to metrics_and_profiling_admin_application_settings_path, title: _('Metrics and profiling'), class: 'qa-admin-settings-metrics-and-profiling-item' do %span = _('Metrics and profiling') = nav_link(path: 'application_settings#network') do = link_to network_admin_application_settings_path, title: _('Network'), data: { qa_selector: 'admin_settings_network_item' } do %span = _('Network') - if template_exists?('admin/application_settings/geo') = nav_link(path: 'application_settings#geo') do = link_to geo_admin_application_settings_path, title: _('Geo') do %span = _('Geo') = nav_link(path: 'application_settings#preferences') do = link_to preferences_admin_application_settings_path, title: _('Preferences'), data: { qa_selector: 'admin_settings_preferences_link' } do %span = _('Preferences') = render 'shared/sidebar_toggle_button'