diff options
Diffstat (limited to 'app/views/layouts/nav/sidebar')
5 files changed, 56 insertions, 42 deletions
diff --git a/app/views/layouts/nav/sidebar/_admin.html.haml b/app/views/layouts/nav/sidebar/_admin.html.haml index b71866c9138..7a80c4e0ba9 100644 --- a/app/views/layouts/nav/sidebar/_admin.html.haml +++ b/app/views/layouts/nav/sidebar/_admin.html.haml @@ -1,14 +1,17 @@ +- avatar_size = sidebar_refactor_disabled? ? 24 : 18 +- avatar_size_class = sidebar_refactor_disabled? ? 's40' : 's32' + %aside.nav-sidebar.qa-admin-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?), 'aria-label': _('Admin navigation') } .nav-sidebar-inner-scroll .context-header = link_to admin_root_path, title: _('Admin Overview') do - %span.avatar-container.s40.settings-avatar - = sprite_icon('admin', size: 24) + %span{ class: ['avatar-container', 'settings-avatar', 'rect-avatar', avatar_size_class] } + = sprite_icon('admin', size: avatar_size) %span.sidebar-context-title = _('Admin Area') %ul.sidebar-top-level-items{ data: { qa_selector: 'admin_sidebar_overview_submenu_content' } } = nav_link(controller: %w(dashboard admin admin/projects users groups jobs runners gitaly_servers), html_options: {class: 'home'}) do - = link_to admin_root_path do + = link_to admin_root_path, class: 'has-sub-items' do .nav-icon-container = sprite_icon('overview') %span.nav-item-name @@ -49,7 +52,7 @@ = _('Gitaly Servers') = nav_link(controller: admin_analytics_nav_links) do - = link_to admin_dev_ops_report_path, data: { qa_selector: 'admin_analytics_link' } do + = link_to admin_dev_ops_report_path, data: { qa_selector: 'admin_analytics_link' }, class: 'has-sub-items' do .nav-icon-container = sprite_icon('chart') %span.nav-item-name @@ -71,14 +74,14 @@ = _('Usage Trends') = nav_link(controller: admin_monitoring_nav_links) do - = link_to admin_system_info_path, data: { qa_selector: 'admin_monitoring_link' } do + = link_to admin_system_info_path, data: { qa_selector: 'admin_monitoring_link' }, class: 'has-sub-items' do .nav-icon-container = sprite_icon('monitor') %span.nav-item-name = _('Monitoring') %ul.sidebar-sub-level-items{ data: { qa_selector: 'admin_sidebar_monitoring_submenu_content' } } - = nav_link(controller: %w(system_info background_jobs health_check requests_profiles), html_options: { class: "fly-out-top-item" } ) do + = nav_link(controller: admin_monitoring_nav_links, html_options: { class: "fly-out-top-item" } ) do = link_to admin_system_info_path do %strong.fly-out-top-item-name = _('Monitoring') @@ -87,6 +90,10 @@ = link_to admin_system_info_path, title: _('System Info') do %span = _('System Info') + = nav_link(controller: :background_migrations) do + = link_to admin_background_migrations_path, title: _('Background Migrations') do + %span + = _('Background Migrations') = nav_link(controller: :background_jobs) do = link_to admin_background_jobs_path, title: _('Background Jobs') do %span @@ -227,20 +234,8 @@ %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, :integrations]) do - = link_to general_admin_application_settings_path do + = nav_link(controller: [:application_settings, :integrations, :appearances]) do + = link_to general_admin_application_settings_path, class: 'has-sub-items' do .nav-icon-container = sprite_icon('settings') %span.nav-item-name.qa-admin-settings-item @@ -248,7 +243,7 @@ %ul.sidebar-sub-level-items{ data: { qa_selector: 'admin_sidebar_settings_submenu_content' } } -# This active_nav_link check is also used in `app/views/layouts/admin.html.haml` - = nav_link(controller: [:application_settings, :integrations], html_options: { class: "fly-out-top-item" } ) do + = nav_link(controller: [:application_settings, :integrations, :appearances], html_options: { class: "fly-out-top-item" } ) do = link_to general_admin_application_settings_path do %strong.fly-out-top-item-name = _('Settings') @@ -295,6 +290,10 @@ = link_to network_admin_application_settings_path, title: _('Network'), data: { qa_selector: 'admin_settings_network_item' } do %span = _('Network') + = nav_link(controller: :appearances ) do + = link_to admin_application_settings_appearances_path do + %span + = _('Appearance') = 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 diff --git a/app/views/layouts/nav/sidebar/_analytics_links.html.haml b/app/views/layouts/nav/sidebar/_analytics_links.html.haml index 970a1d5f2c7..58989d6afc4 100644 --- a/app/views/layouts/nav/sidebar/_analytics_links.html.haml +++ b/app/views/layouts/nav/sidebar/_analytics_links.html.haml @@ -4,7 +4,7 @@ - if navbar_links.any? = nav_link(path: all_paths) do - = link_to analytics_link.link, {class: 'shortcuts-analytics', data: { qa_selector: 'analytics_anchor' } } do + = link_to analytics_link.link, {class: 'shortcuts-analytics has-sub-items', data: { qa_selector: 'analytics_anchor' } } do .nav-icon-container = sprite_icon('chart') %span.nav-item-name{ data: { qa_selector: 'analytics_link' } } diff --git a/app/views/layouts/nav/sidebar/_context_menu_body.html.haml b/app/views/layouts/nav/sidebar/_context_menu_body.html.haml new file mode 100644 index 00000000000..321bcda5702 --- /dev/null +++ b/app/views/layouts/nav/sidebar/_context_menu_body.html.haml @@ -0,0 +1,9 @@ +- avatar_size_class = sidebar_refactor_disabled? ? 's40' : 's32' +- avatar_classes = ['avatar-container', 'rect-avatar', 'group-avatar'] +- avatar_classes << avatar_size_class + += link_to group_path(@group), title: @group.name, data: { qa_selector: 'group_scope_link' } do + %span{ class: avatar_classes } + = group_icon(@group, class: ['avatar', 'avatar-tile', avatar_size_class]) + %span.sidebar-context-title + = @group.name diff --git a/app/views/layouts/nav/sidebar/_group.html.haml b/app/views/layouts/nav/sidebar/_group.html.haml index 757f95f864a..0ce1d48a2de 100644 --- a/app/views/layouts/nav/sidebar/_group.html.haml +++ b/app/views/layouts/nav/sidebar/_group.html.haml @@ -1,36 +1,39 @@ - issues_count = cached_issuables_count(@group, type: :issues) -- merge_requests_count = group_open_merge_requests_count(@group) +- merge_requests_count = cached_issuables_count(@group, type: :merge_requests) - 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 + - if sidebar_refactor_disabled? + .context-header + = render 'layouts/nav/sidebar/context_menu_body' + %ul.sidebar-top-level-items.qa-group-sidebar + - if sidebar_refactor_enabled? + = nav_link(path: ['groups#show', 'groups#details'], html_options: { class: 'context-header' }) do + = render 'layouts/nav/sidebar/context_menu_body' + = 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 + - information_link = sidebar_refactor_enabled? ? activity_group_path(@group) : group_path(@group) + = link_to information_link, class: 'has-sub-items', data: { qa_selector: 'group_information_link' } do .nav-icon-container - - sprite = Feature.enabled?(:sidebar_refactor, current_user) ? 'group' : 'home' + - sprite = sidebar_refactor_enabled? ? 'group' : 'home' = sprite_icon(sprite) %span.nav-item-name = group_information_title(@group) - %ul.sidebar-sub-level-items + %ul.sidebar-sub-level-items{ data: { qa_selector: 'group_information_submenu'} } = nav_link(path: paths, html_options: { class: "fly-out-top-item" } ) do - = link_to group_path(@group) do + = link_to information_link do %strong.fly-out-top-item-name = group_information_title(@group) %li.divider.fly-out-top-item - - if Feature.disabled?(:sidebar_refactor, current_user) + - if sidebar_refactor_disabled? = 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 @@ -42,13 +45,13 @@ %span = _('Activity') - - if group_sidebar_link?(:labels) && Feature.enabled?(:sidebar_refactor, current_user, default_enabled: :yaml) + - if group_sidebar_link?(:labels) && sidebar_refactor_enabled? = 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 sidebar_refactor_enabled? - 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 @@ -59,7 +62,7 @@ - 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 + = link_to issues_group_path(@group), data: { qa_selector: 'group_issues_item' }, class: 'has-sub-items' do .nav-icon-container = sprite_icon('issues') %span.nav-item-name @@ -85,7 +88,7 @@ %span = boards_link_text - - if group_sidebar_link?(:labels) && Feature.disabled?(:sidebar_refactor, current_user, default_enabled: :yaml) + - if group_sidebar_link?(:labels) && sidebar_refactor_disabled? = nav_link(path: 'labels#index') do = link_to group_labels_path(@group), title: _('Labels') do %span @@ -138,7 +141,7 @@ - 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 sidebar_refactor_disabled? - if group_sidebar_link?(:group_members) = nav_link(path: 'group_members#index') do = link_to group_group_members_path(@group) do @@ -154,7 +157,7 @@ - if group_sidebar_link?(:settings) = nav_link(path: group_settings_nav_link_paths) do - = link_to edit_group_path(@group) do + = link_to edit_group_path(@group), class: 'has-sub-items' do .nav-icon-container = sprite_icon('settings') %span.nav-item-name{ data: { qa_selector: 'group_settings' } } diff --git a/app/views/layouts/nav/sidebar/_profile.html.haml b/app/views/layouts/nav/sidebar/_profile.html.haml index 63b97e3133c..daafabdb799 100644 --- a/app/views/layouts/nav/sidebar/_profile.html.haml +++ b/app/views/layouts/nav/sidebar/_profile.html.haml @@ -1,9 +1,12 @@ +- avatar_size = sidebar_refactor_disabled? ? 40 : 32 +- avatar_size_class = sidebar_refactor_disabled? ? 's40' : 's32' + %aside.nav-sidebar{ class: ("sidebar-collapsed-desktop" if collapsed_sidebar?), **sidebar_tracking_attributes_by_object(current_user), 'aria-label': _('User settings') } .nav-sidebar-inner-scroll .context-header = link_to profile_path, title: _('Profile Settings') do - %span.avatar-container.s40.settings-avatar - = image_tag avatar_icon_for_user(current_user, 40), class: "avatar s40 avatar-tile js-sidebar-user-avatar", alt: current_user.name, data: { testid: 'sidebar-user-avatar' } + %span{ class: ['avatar-container', 'settings-avatar', avatar_size_class] } + = image_tag avatar_icon_for_user(current_user, avatar_size), class: ['avatar', 'avatar-tile', 'js-sidebar-user-avatar', avatar_size_class], alt: current_user.name, data: { testid: 'sidebar-user-avatar' } %span.sidebar-context-title= _('User Settings') %ul.sidebar-top-level-items = nav_link(path: 'profiles#show', html_options: {class: 'home'}) do |