- issues_count = cached_issuables_count(@group, type: :issues) - merge_requests_count = group_open_merge_requests_count(@group) - aside_title = @group.subgroup? ? _('Subgroup navigation') : _('Group navigation') %aside.nav-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?), **sidebar_tracking_attributes_by_object(@group), 'aria-label': aside_title } .nav-sidebar-inner-scroll .context-header = link_to group_path(@group), title: @group.name do %span.avatar-container.rect-avatar.s40.group-avatar = group_icon(@group, class: "avatar s40 avatar-tile") %span.sidebar-context-title = @group.name %ul.sidebar-top-level-items.qa-group-sidebar = render_if_exists 'layouts/nav/sidebar/group_trial_status_widget', group: @group - if group_sidebar_link?(:overview) - paths = group_overview_nav_link_paths = nav_link(path: paths, unless: -> { current_path?('groups/contribution_analytics#show') }, html_options: { class: 'home' }) do = link_to group_path(@group) do .nav-icon-container - sprite = Feature.enabled?(:sidebar_refactor, current_user) ? 'group' : 'home' = sprite_icon(sprite) %span.nav-item-name = group_information_title(@group) %ul.sidebar-sub-level-items = nav_link(path: paths, html_options: { class: "fly-out-top-item" } ) do = link_to group_path(@group) do %strong.fly-out-top-item-name = group_information_title(@group) %li.divider.fly-out-top-item - if Feature.disabled?(:sidebar_refactor, current_user) = nav_link(path: ['groups#show', 'groups#details', 'groups#subgroups'], html_options: { class: 'home' }) do = link_to details_group_path(@group), title: _('Group details') do %span = _('Details') - if group_sidebar_link?(:activity) = nav_link(path: 'groups#activity') do = link_to activity_group_path(@group), title: _('Activity') do %span = _('Activity') - if group_sidebar_link?(:labels) && Feature.enabled?(:sidebar_refactor, current_user, default_enabled: :yaml) = nav_link(path: 'labels#index') do = link_to group_labels_path(@group), title: _('Labels') do %span = _('Labels') - if Feature.enabled?(:sidebar_refactor, current_user, default_enabled: :yaml) - if group_sidebar_link?(:group_members) = nav_link(path: 'group_members#index') do = link_to group_group_members_path(@group), title: _('Members'), data: { qa_selector: 'group_members_item' } do %span = _('Members') = render_if_exists "layouts/nav/ee/epic_link", group: @group - if group_sidebar_link?(:issues) = nav_link(path: group_issues_sub_menu_items, unless: -> { current_path?('issues_analytics#show') }) do = link_to issues_group_path(@group), data: { qa_selector: 'group_issues_item' } do .nav-icon-container = sprite_icon('issues') %span.nav-item-name = _('Issues') %span.badge.badge-pill.count= issues_count %ul.sidebar-sub-level-items{ data: { qa_selector: 'group_issues_sidebar_submenu'} } = nav_link(path: group_issues_sub_menu_items, html_options: { class: "fly-out-top-item" } ) do = link_to issues_group_path(@group) do %strong.fly-out-top-item-name = _('Issues') %span.badge.badge-pill.count.issue_counter.fly-out-badge= issues_count %li.divider.fly-out-top-item = nav_link(path: 'groups#issues', html_options: { class: 'home' }) do = link_to issues_group_path(@group), title: _('List') do %span = _('List') - if group_sidebar_link?(:boards) = nav_link(path: ['boards#index', 'boards#show']) do = link_to group_boards_path(@group), title: boards_link_text, data: { qa_selector: 'group_issue_boards_link' } do %span = boards_link_text - if group_sidebar_link?(:labels) && Feature.disabled?(:sidebar_refactor, current_user, default_enabled: :yaml) = nav_link(path: 'labels#index') do = link_to group_labels_path(@group), title: _('Labels') do %span = _('Labels') - if group_sidebar_link?(:milestones) = nav_link(path: 'milestones#index') do = link_to group_milestones_path(@group), title: _('Milestones'), data: { qa_selector: 'group_milestones_link' } do %span = _('Milestones') = render_if_exists 'layouts/nav/sidebar/group_iterations_link' - if group_sidebar_link?(:merge_requests) = nav_link(path: 'groups#merge_requests') do = link_to merge_requests_group_path(@group) do .nav-icon-container = sprite_icon('git-merge') %span.nav-item-name = _('Merge requests') %span.badge.badge-pill.count= merge_requests_count %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(path: 'groups#merge_requests', html_options: { class: "fly-out-top-item" } ) do = link_to merge_requests_group_path(@group) do %strong.fly-out-top-item-name = _('Merge requests') %span.badge.badge-pill.count.merge_counter.js-merge-counter.fly-out-badge= merge_requests_count = render_if_exists "layouts/nav/ee/security_link" # EE-specific = render_if_exists "layouts/nav/ee/push_rules_link" # EE-specific - if group_sidebar_link?(:kubernetes) = nav_link(controller: [:clusters]) do = link_to group_clusters_path(@group) 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 group_clusters_path(@group), title: _('Kubernetes'), class: 'shortcuts-kubernetes' do %strong.fly-out-top-item-name = _('Kubernetes') = render 'groups/sidebar/packages' = render 'layouts/nav/sidebar/analytics_links', links: group_analytics_navbar_links(@group, current_user) - if group_sidebar_link?(:wiki) = render 'layouts/nav/sidebar/wiki_link', wiki_url: @group.wiki.web_url - if Feature.disabled?(:sidebar_refactor, current_user, default_enabled: :yaml) - if group_sidebar_link?(:group_members) = nav_link(path: 'group_members#index') do = link_to group_group_members_path(@group) do .nav-icon-container = sprite_icon('users') %span.nav-item-name.qa-group-members-item = _('Members') %ul.sidebar-sub-level-items.is-fly-out-only = nav_link(path: 'group_members#index', html_options: { class: "fly-out-top-item" } ) do = link_to group_group_members_path(@group) do %strong.fly-out-top-item-name = _('Members') - if group_sidebar_link?(:settings) = nav_link(path: group_settings_nav_link_paths) do = link_to edit_group_path(@group) do .nav-icon-container = sprite_icon('settings') %span.nav-item-name{ data: { qa_selector: 'group_settings' } } = _('Settings') %ul.sidebar-sub-level-items.qa-group-sidebar-submenu{ data: { testid: 'group-settings-menu' } } = nav_link(path: %w[groups#projects groups#edit badges#index ci_cd#show groups/applications#index], html_options: { class: "fly-out-top-item" } ) do = link_to edit_group_path(@group) do %strong.fly-out-top-item-name = _('Settings') %li.divider.fly-out-top-item = nav_link(path: 'groups#edit') do = link_to edit_group_path(@group), title: _('General'), data: { qa_selector: 'general_settings_link' } do %span = _('General') = nav_link(controller: :integrations) do = link_to group_settings_integrations_path(@group), title: _('Integrations') do %span = _('Integrations') = nav_link(path: 'groups#projects') do = link_to projects_group_path(@group), title: _('Projects') do %span = _('Projects') = nav_link(controller: :repository) do = link_to group_settings_repository_path(@group), title: _('Repository') do %span = _('Repository') = nav_link(controller: [:ci_cd, 'groups/runners']) do = link_to group_settings_ci_cd_path(@group), title: _('CI/CD') do %span = _('CI/CD') = nav_link(controller: :applications) do = link_to group_settings_applications_path(@group), title: _('Applications') do %span = _('Applications') = render 'groups/sidebar/packages_settings' = render_if_exists "groups/ee/settings_nav" = render_if_exists "groups/ee/administration_nav" = render 'shared/sidebar_toggle_button'