Commit fcf5e1b4 authored by Annabel Dunstone Gray's avatar Annabel Dunstone Gray Committed by Phil Hughes

Port of remove-old-nav-styles to EE

parent d537d251
...@@ -31,10 +31,12 @@ ...@@ -31,10 +31,12 @@
@import "framework/modal"; @import "framework/modal";
@import "framework/media_object"; @import "framework/media_object";
@import "framework/nav"; @import "framework/nav";
@import "framework/new-nav";
@import "framework/pagination"; @import "framework/pagination";
@import "framework/panels"; @import "framework/panels";
@import "framework/selects"; @import "framework/selects";
@import "framework/sidebar"; @import "framework/sidebar";
@import "framework/new-sidebar";
@import "framework/tables"; @import "framework/tables";
@import "framework/notes"; @import "framework/notes";
@import "framework/timeline"; @import "framework/timeline";
......
...@@ -254,6 +254,10 @@ body { ...@@ -254,6 +254,10 @@ body {
.search-icon { .search-icon {
color: $theme-gray-200; color: $theme-gray-200;
} }
.search-input {
color: $gl-text-color;
}
} }
.location-badge { .location-badge {
......
...@@ -144,3 +144,39 @@ ...@@ -144,3 +144,39 @@
@mixin green-status-color { @mixin green-status-color {
@include status-color($green-50, $green-500, $green-700); @include status-color($green-50, $green-500, $green-700);
} }
@mixin fade($gradient-direction, $gradient-color) {
visibility: hidden;
opacity: 0;
z-index: 2;
position: absolute;
bottom: 12px;
width: 43px;
height: 30px;
transition-duration: .3s;
-webkit-transform: translateZ(0);
background: linear-gradient(to $gradient-direction, $gradient-color 45%, rgba($gradient-color, 0.4));
&.scrolling {
visibility: visible;
opacity: 1;
transition-duration: .3s;
}
.fa {
position: relative;
top: 5px;
font-size: 18px;
}
}
@mixin scrolling-links() {
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
display: flex;
&::-webkit-scrollbar {
display: none;
}
}
@mixin fade($gradient-direction, $gradient-color) {
visibility: hidden;
opacity: 0;
z-index: 2;
position: absolute;
bottom: 12px;
width: 43px;
height: 30px;
transition-duration: .3s;
-webkit-transform: translateZ(0);
background: linear-gradient(to $gradient-direction, $gradient-color 45%, rgba($gradient-color, 0.4));
&.scrolling {
visibility: visible;
opacity: 1;
transition-duration: .3s;
}
.fa {
position: relative;
top: 5px;
font-size: 18px;
}
}
@mixin scrolling-links() {
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
display: flex;
&::-webkit-scrollbar {
display: none;
}
}
.nav-links { .nav-links {
display: flex; display: flex;
......
...@@ -295,75 +295,6 @@ header.navbar-gitlab-new { ...@@ -295,75 +295,6 @@ header.navbar-gitlab-new {
margin-top: 4px; margin-top: 4px;
} }
.search {
margin: 4px 8px 0;
form {
height: 32px;
border: 0;
border-radius: $border-radius-default;
transition: border-color ease-in-out 0.15s, background-color ease-in-out 0.15s;
&:hover {
box-shadow: none;
}
}
&.search-active form {
box-shadow: none;
.search-input {
color: $gl-text-color;
transition: color ease-in-out 0.15s;
}
.search-input::placeholder {
color: $gl-text-color-tertiary;
}
.search-input-wrap {
.search-icon,
.clear-icon {
color: $gl-text-color-tertiary;
transition: color ease-in-out 0.15s;
}
}
}
.search-input {
color: $white-light;
background: none;
transition: color ease-in-out 0.15s;
}
.search-input::placeholder {
transition: color ease-in-out 0.15s;
}
.location-badge {
font-size: 12px;
margin: -4px 4px -4px -4px;
line-height: 25px;
padding: 4px 8px;
border-radius: 2px 0 0 2px;
height: 32px;
transition: border-color ease-in-out 0.15s;
}
&.search-active {
.location-badge {
background-color: $nav-badge-bg;
border-color: $border-color;
}
.search-input-wrap {
.clear-icon {
color: $white-light;
}
}
}
}
.breadcrumbs { .breadcrumbs {
display: flex; display: flex;
min-height: 48px; min-height: 48px;
......
...@@ -6,6 +6,7 @@ $gutter_width: 290px; ...@@ -6,6 +6,7 @@ $gutter_width: 290px;
$gutter_inner_width: 250px; $gutter_inner_width: 250px;
$sidebar-transition-duration: .15s; $sidebar-transition-duration: .15s;
$sidebar-breakpoint: 1024px; $sidebar-breakpoint: 1024px;
$default-transition-duration: .15s;
/* /*
* Color schema * Color schema
......
...@@ -28,9 +28,7 @@ input[type="checkbox"]:hover { ...@@ -28,9 +28,7 @@ input[type="checkbox"]:hover {
} }
.search { .search {
margin-right: 10px; margin: 4px 8px 0;
margin-left: 10px;
margin-top: ($header-height - 35) / 2;
form { form {
@extend .form-control; @extend .form-control;
...@@ -38,15 +36,23 @@ input[type="checkbox"]:hover { ...@@ -38,15 +36,23 @@ input[type="checkbox"]:hover {
padding: 4px; padding: 4px;
width: $search-input-width; width: $search-input-width;
line-height: 24px; line-height: 24px;
height: 32px;
border: 0;
border-radius: $border-radius-default;
transition: border-color ease-in-out $default-transition-duration, background-color ease-in-out $default-transition-duration;
&:hover { &:hover {
border-color: lighten($dropdown-input-focus-border, 20%); box-shadow: none;
box-shadow: 0 0 4px lighten($search-input-focus-shadow-color, 20%);
} }
} }
.location-text { .location-badge {
font-style: normal; font-size: 12px;
margin: -4px 4px -4px -4px;
line-height: 25px;
padding: 4px 8px;
border-radius: $border-radius-default 0 0 $border-radius-default;
transition: border-color ease-in-out $default-transition-duration;
} }
.search-input { .search-input {
...@@ -56,41 +62,26 @@ input[type="checkbox"]:hover { ...@@ -56,41 +62,26 @@ input[type="checkbox"]:hover {
margin-left: 5px; margin-left: 5px;
line-height: 25px; line-height: 25px;
width: 98%; width: 98%;
color: $white-light;
background: none;
transition: color ease-in-out $default-transition-duration;
} }
.location-badge { .search-input::placeholder {
line-height: 25px; transition: color ease-in-out $default-transition-duration;
padding: 0 5px;
border-radius: $border-radius-default;
font-size: 14px;
font-style: normal;
color: $note-disabled-comment-color;
display: inline-block;
background-color: $gray-normal;
vertical-align: top;
cursor: default;
} }
.search-input-container { .search-input-container {
display: -webkit-flex;
display: flex; display: flex;
position: relative; position: relative;
} }
.search-input-wrap { .search-input-wrap {
// Fallback if flexbox is not supported
display: inline-block;
}
.search-input-wrap {
width: 100%;
.search-icon, .search-icon,
.clear-icon { .clear-icon {
position: absolute; position: absolute;
right: 5px; right: 5px;
top: 0; top: 0;
color: $location-icon-color;
&::before { &::before {
font-family: FontAwesome; font-family: FontAwesome;
...@@ -101,7 +92,7 @@ input[type="checkbox"]:hover { ...@@ -101,7 +92,7 @@ input[type="checkbox"]:hover {
.search-icon { .search-icon {
@extend .fa-search; @extend .fa-search;
transition: color 0.15s; transition: color $default-transition-duration;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
...@@ -148,19 +139,30 @@ input[type="checkbox"]:hover { ...@@ -148,19 +139,30 @@ input[type="checkbox"]:hover {
form { form {
@extend .form-control:focus; @extend .form-control:focus;
border-color: $dropdown-input-focus-border; border-color: $dropdown-input-focus-border;
box-shadow: 0 0 4px $search-input-focus-shadow-color; box-shadow: none;
.search-input-wrap {
.search-icon,
.clear-icon {
color: $gl-text-color-tertiary;
transition: color ease-in-out $default-transition-duration;
}
} }
.location-badge { .search-input {
transition: all 0.15s; color: $gl-text-color;
background-color: $location-badge-active-bg; transition: color ease-in-out $default-transition-duration;
color: $white-light;
} }
.search-input-wrap { .search-input::placeholder {
i { color: $gl-text-color-tertiary;
color: $layout-link-gray; }
} }
.location-badge {
transition: all $default-transition-duration;
background-color: $nav-badge-bg;
border-color: $border-color;
} }
.dropdown-menu { .dropdown-menu {
......
- @no_container = true - @no_container = true
- page_title 'Audit Log' - page_title 'Audit Log'
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
.todos-filters .todos-filters
......
- @no_container = true - @no_container = true
- page_title "Background Jobs" - page_title "Background Jobs"
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
%h3.page-title Background Jobs %h3.page-title Background Jobs
......
- breadcrumb_title "Cohorts" - breadcrumb_title "Cohorts"
- @no_container = true - @no_container = true
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
- if @cohorts - if @cohorts
......
- @no_container = true - @no_container = true
- page_title 'ConvDev Index' - page_title 'ConvDev Index'
= render 'admin/monitoring/head'
.container .container
- if show_callout?('convdev_intro_callout_dismissed') - if show_callout?('convdev_intro_callout_dismissed')
= render 'callout' = render 'callout'
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do
= link_to admin_root_path, title: 'Overview' do
%span
Overview
= nav_link(controller: [: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: 'builds#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 path: 'cohorts#index' do
= link_to admin_cohorts_path, title: 'Cohorts' do
%span
Cohorts
= nav_link(controller: :conversational_development_index) do
= link_to admin_conversational_development_index_path, title: 'ConvDev Index' do
%span
ConvDev Index
- @no_container = true - @no_container = true
- breadcrumb_title "Dashboard" - breadcrumb_title "Dashboard"
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
- if @license - if @license
......
- @no_container = true - @no_container = true
- page_title "Groups" - page_title "Groups"
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
.top-area .top-area
......
- @no_container = true - @no_container = true
- page_title _('Health Check') - page_title _('Health Check')
- no_errors = @errors.blank? && @failing_storage_statuses.blank? - no_errors = @errors.blank? && @failing_storage_statuses.blank?
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
%h3.page-title= page_title %h3.page-title= page_title
......
- breadcrumb_title "Jobs" - breadcrumb_title "Jobs"
- @no_container = true - @no_container = true
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
......
- @no_container = true - @no_container = true
- page_title "Logs" - page_title "Logs"
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
%ul.nav-links.log-tabs %ul.nav-links.log-tabs
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
= 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
= render 'admin/monitoring/ee/nav'
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- page_title "Projects" - page_title "Projects"
- params[:visibility_level] ||= [] - params[:visibility_level] ||= []
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
.top-area .top-area
......
- @no_container = true - @no_container = true
- page_title 'Requests Profiles' - page_title 'Requests Profiles'
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
- breadcrumb_title "Runners" - breadcrumb_title "Runners"
- @no_container = true - @no_container = true
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
.bs-callout .bs-callout
......
- @no_container = true - @no_container = true
- page_title "System Info" - page_title "System Info"
= render 'admin/monitoring/head'
%div{ class: container_class } %div{ class: container_class }
.prepend-top-default .prepend-top-default
......
- @no_container = true - @no_container = true
- page_title "Users" - page_title "Users"
= render "admin/dashboard/head"
%div{ class: container_class } %div{ class: container_class }
.prepend-top-default .prepend-top-default
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
= nav_link(path: ['groups#show', 'groups#subgroups'], html_options: { class: 'home' }) do
= link_to group_path(@group), title: 'Group Home' do
%span
Home
= nav_link(path: 'groups#activity') do
= link_to activity_group_path(@group), title: 'Activity' do
%span
Activity
.hidden-xs
= render "projects/last_push"
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
= nav_link(path: 'groups#issues', html_options: { class: 'home' }) do
= link_to issues_group_path(@group), title: 'List' do
%span
List
- if @group.feature_available?(:group_issue_boards)
= nav_link(path: 'groups#boards') do
= link_to group_boards_path(@group), title: 'Boards' do
%span
Boards
= nav_link(path: 'labels#index') do
= link_to group_labels_path(@group), title: 'Labels' do
%span
Labels
= nav_link(path: 'milestones#index') do
= link_to group_milestones_path(@group), title: 'Milestones' do
%span
Milestones
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
= nav_link(path: 'groups#edit') do
= link_to edit_group_path(@group), title: 'General' do
%span
General
= nav_link(path: 'groups#projects') do
= link_to projects_group_path(@group), title: 'Projects' do
%span
Projects
= nav_link(controller: :ci_cd) do
= link_to group_settings_ci_cd_path(@group), title: 'Pipelines' do
%span
Pipelines
= render 'groups/ee/settings_nav'
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
= auto_discovery_link_tag(:atom, group_url(@group, rss_url_options), title: "#{@group.name} activity") = auto_discovery_link_tag(:atom, group_url(@group, rss_url_options), title: "#{@group.name} activity")
- page_title "Activity" - page_title "Activity"
= render 'groups/head'
%section.activities %section.activities
= render 'activities' = render 'activities'
- page_title "Audit Events" - page_title "Audit Events"
= render "groups/settings_head"
%h3.page-title Group Audit Events %h3.page-title Group Audit Events
%p.light Events in #{@group.name} %p.light Events in #{@group.name}
......
- page_title "Billing" - page_title "Billing"
= render "groups/settings_head"
- if @top_most_group - if @top_most_group
- top_most_group_plan = subscription_plan_info(@plans_data, @top_most_group.actual_plan) - top_most_group_plan = subscription_plan_info(@plans_data, @top_most_group.actual_plan)
......
- breadcrumb_title "General Settings" - breadcrumb_title "General Settings"
= render "groups/settings_head"
.panel.panel-default.prepend-top-default .panel.panel-default.prepend-top-default
.panel-heading .panel-heading
Group settings Group settings
......
= render "groups/settings_head"
- if @group.feature_available?(:group_webhooks) - if @group.feature_available?(:group_webhooks)
.row.prepend-top-default .row.prepend-top-default
.col-lg-3 .col-lg-3
......
- page_title "Issues" - page_title "Issues"
- group_issues_exists = group_issues(@group).exists? - group_issues_exists = group_issues(@group).exists?
= render "head_issues"
= content_for :meta_tags do = content_for :meta_tags do
= auto_discovery_link_tag(:atom, params.merge(rss_url_options), title: "#{@group.name} issues") = auto_discovery_link_tag(:atom, params.merge(rss_url_options), title: "#{@group.name} issues")
......
- page_title 'Labels' - page_title 'Labels'
= render "groups/head_issues"
.top-area.adjust .top-area.adjust
.nav-text .nav-text
Labels can be applied to issues and merge requests. Group labels are available for any project within the group. Labels can be applied to issues and merge requests. Group labels are available for any project within the group.
......
- page_title "Milestones" - page_title "Milestones"
= render "groups/head_issues"
.top-area .top-area
= render 'shared/milestones_filter', counts: @milestone_states = render 'shared/milestones_filter', counts: @milestone_states
......
- page_title "Pipelines quota" - page_title "Pipelines quota"
= render "groups/settings_head"
%h3.page-title %h3.page-title
Group pipelines quota Group pipelines quota
......
- breadcrumb_title "Projects" - breadcrumb_title "Projects"
= render "groups/settings_head"
.panel.panel-default.prepend-top-default .panel.panel-default.prepend-top-default
.panel-heading .panel-heading
......
- breadcrumb_title "CI / CD Settings" - breadcrumb_title "CI / CD Settings"
- page_title "CI / CD" - page_title "CI / CD"
= render "groups/settings_head"
= render 'ci/variables/index' = render 'ci/variables/index'
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
= content_for :meta_tags do = content_for :meta_tags do
= auto_discovery_link_tag(:atom, group_url(@group, rss_url_options), title: "#{@group.name} activity") = auto_discovery_link_tag(:atom, group_url(@group, rss_url_options), title: "#{@group.name} activity")
= render 'groups/head'
= render 'groups/home_panel' = render 'groups/home_panel'
.groups-header{ class: container_class } .groups-header{ class: container_class }
......
- breadcrumb_title "Details" - breadcrumb_title "Details"
- @no_container = true - @no_container = true
= render 'head'
= render 'groups/home_panel' = render 'groups/home_panel'
.groups-header{ class: container_class } .groups-header{ class: container_class }
......
...@@ -32,10 +32,6 @@ ...@@ -32,10 +32,6 @@
= stylesheet_link_tag "test", media: "all" if Rails.env.test? = stylesheet_link_tag "test", media: "all" if Rails.env.test?
= stylesheet_link_tag 'performance_bar' if performance_bar_enabled? = stylesheet_link_tag 'performance_bar' if performance_bar_enabled?
// TODO: Combine these 2 stylesheets into application.scss
= stylesheet_link_tag "new_nav", media: "all"
= stylesheet_link_tag "new_sidebar", media: "all"
= Gon::Base.render_data = Gon::Base.render_data
- if content_for?(:library_javascripts) - if content_for?(:library_javascripts)
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
= nav_link(path: 'projects#show') do
= link_to project_path(@project), title: _('Project home'), class: 'shortcuts-project' do
%span= _('Home')
= nav_link(path: 'projects#activity') do
= link_to activity_project_path(@project), title: _('Activity'), class: 'shortcuts-project-activity' do
%span= _('Activity')
- if can?(current_user, :read_cycle_analytics, @project)
= nav_link(path: 'cycle_analytics#show') do
= link_to project_cycle_analytics_path(@project), title: _('Cycle Analytics'), class: 'shortcuts-project-cycle-analytics' do
%span= _('Cycle Analytics')
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
- page_title _("Activity") - page_title _("Activity")
= render "projects/head"
= render 'projects/last_push' = render 'projects/last_push'
= render 'projects/activity' = render 'projects/activity'
- breadcrumb_title _('Artifacts') - breadcrumb_title _('Artifacts')
- page_title @path.presence, 'Artifacts', "#{@build.name} (##{@build.id})", 'Jobs' - page_title @path.presence, 'Artifacts', "#{@build.name} (##{@build.id})", 'Jobs'
= render "projects/pipelines/head"
= render "projects/jobs/header", show_controls: false = render "projects/jobs/header", show_controls: false
......
- page_title @path, 'Artifacts', "#{@build.name} (##{@build.id})", 'Jobs' - page_title @path, 'Artifacts', "#{@build.name} (##{@build.id})", 'Jobs'
= render "projects/pipelines/head"
= render "projects/jobs/header", show_controls: false = render "projects/jobs/header", show_controls: false
......
- page_title "Audit Events" - page_title "Audit Events"
= render "projects/settings/head"
- if show_project_feature_promotion?(:audit_events) - if show_project_feature_promotion?(:audit_events)
= render 'shared/promotions/promote_audit_events' = render 'shared/promotions/promote_audit_events'
......
- @no_container = true - @no_container = true
- project_duration = age_map_duration(@blame_groups, @project) - project_duration = age_map_duration(@blame_groups, @project)
- page_title "Blame", @blob.path, @ref - page_title "Blame", @blob.path, @ref
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
#blob-content-holder.tree-holder #blob-content-holder.tree-holder
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_tag('lib/ace.js') = page_specific_javascript_tag('lib/ace.js')
= page_specific_javascript_bundle_tag('blob') = page_specific_javascript_bundle_tag('blob')
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
- if @conflict - if @conflict
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- @no_container = true - @no_container = true
- page_title @blob.path, @ref - page_title @blob.path, @ref
= render "projects/commits/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= webpack_bundle_tag 'blob' = webpack_bundle_tag 'blob'
......
- @no_container = true - @no_container = true
- page_title _('Branches') - page_title _('Branches')
- add_to_breadcrumbs(_('Repository'), project_tree_path(@project)) - add_to_breadcrumbs(_('Repository'), project_tree_path(@project))
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
.top-area.adjust .top-area.adjust
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
- @content_class = limited_container_width - @content_class = limited_container_width
- page_title "#{@commit.title} (#{@commit.short_id})", "Commits" - page_title "#{@commit.title} (#{@commit.short_id})", "Commits"
- page_description @commit.description - page_description @commit.description
= render "projects/commits/head"
.container-fluid{ class: [limited_container_width, container_class] } .container-fluid{ class: [limited_container_width, container_class] }
= render "commit_box" = render "commit_box"
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file)) do
= link_to project_tree_path(@project) do
#{ _('Files') }
= nav_link(controller: [:commit, :commits]) do
= link_to project_commits_path(@project, current_ref) do
#{ _('Commits') }
= nav_link(html_options: {class: branches_tab_class}) do
= link_to project_branches_path(@project) do
#{ _('Branches') }
= nav_link(controller: [:tags, :releases]) do
= link_to project_tags_path(@project) do
#{ _('Tags') }
= nav_link(path: 'graphs#show') do
= link_to project_graph_path(@project, current_ref) do
#{ _('Contributors') }
= nav_link(controller: %w(network)) do
= link_to project_network_path(@project, current_ref) do
#{ s_('ProjectNetworkGraph|Graph') }
= nav_link(controller: :compare) do
= link_to project_compare_index_path(@project, from: @repository.root_ref, to: current_ref) do
#{ _('Compare') }
= nav_link(path: 'graphs#charts') do
= link_to charts_project_graph_path(@project, current_ref) do
#{ _('Charts') }
- if @project.feature_available?(:file_locks)
= nav_link(controller: [:path_locks]) do
= link_to project_path_locks_path(@project) do
Locked Files
...@@ -5,9 +5,6 @@ ...@@ -5,9 +5,6 @@
= content_for :meta_tags do = content_for :meta_tags do
= auto_discovery_link_tag(:atom, project_commits_url(@project, @ref, rss_url_options), title: "#{@project.name}:#{@ref} commits") = auto_discovery_link_tag(:atom, project_commits_url(@project, @ref, rss_url_options), title: "#{@project.name}:#{@ref} commits")
= content_for :sub_nav do
= render "head"
.js-project-commits-show{ 'data-commits-limit' => @limit } .js-project-commits-show{ 'data-commits-limit' => @limit }
%div{ class: container_class } %div{ class: container_class }
.tree-holder .tree-holder
......
- @no_container = true - @no_container = true
- breadcrumb_title "Compare Revisions" - breadcrumb_title "Compare Revisions"
- page_title "Compare" - page_title "Compare"
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
.sub-header-block .sub-header-block
......
- @no_container = true - @no_container = true
- add_to_breadcrumbs "Compare Revisions", project_compare_index_path(@project) - add_to_breadcrumbs "Compare Revisions", project_compare_index_path(@project)
- page_title "#{params[:from]}...#{params[:to]}" - page_title "#{params[:from]}...#{params[:to]}"
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
.sub-header-block.no-bottom-space .sub-header-block.no-bottom-space
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
= page_specific_javascript_bundle_tag('common_vue') = page_specific_javascript_bundle_tag('common_vue')
= page_specific_javascript_bundle_tag('cycle_analytics') = page_specific_javascript_bundle_tag('cycle_analytics')
= render "projects/head"
#cycle-analytics{ class: container_class, "v-cloak" => "true", data: { request_path: project_cycle_analytics_path(@project) } } #cycle-analytics{ class: container_class, "v-cloak" => "true", data: { request_path: project_cycle_analytics_path(@project) } }
- if @cycle_analytics_no_data - if @cycle_analytics_no_data
.landing.content-block{ "v-if" => "!isOverviewDialogDismissed" } .landing.content-block{ "v-if" => "!isOverviewDialogDismissed" }
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
= webpack_bundle_tag('common_vue') = webpack_bundle_tag('common_vue')
= webpack_bundle_tag('service_desk') = webpack_bundle_tag('service_desk')
= render "projects/settings/head"
.project-edit-container .project-edit-container
%section.settings.general-settings %section.settings.general-settings
.settings-header .settings-header
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
= render partial: 'flash_messages', locals: { project: @project } = render partial: 'flash_messages', locals: { project: @project }
= render "projects/head"
= render "home_panel" = render "home_panel"
.row-content-block.second-block.center .row-content-block.second-block.center
......
- @no_container = true - @no_container = true
- page_title "Edit", @environment.name, "Environments" - page_title "Edit", @environment.name, "Environments"
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
- @no_container = true - @no_container = true
- page_title "Environments" - page_title "Environments"
= render "projects/pipelines/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_vue') = page_specific_javascript_bundle_tag('common_vue')
......
- @no_container = true - @no_container = true
- page_title "Environments" - page_title "Environments"
- add_to_breadcrumbs("Pipelines", project_pipelines_path(@project)) - add_to_breadcrumbs("Pipelines", project_pipelines_path(@project))
= render "projects/pipelines/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_vue') = page_specific_javascript_bundle_tag('common_vue')
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
= webpack_bundle_tag 'common_vue' = webpack_bundle_tag 'common_vue'
= webpack_bundle_tag 'common_d3' = webpack_bundle_tag 'common_d3'
= webpack_bundle_tag 'monitoring' = webpack_bundle_tag 'monitoring'
= render "projects/pipelines/head"
.prometheus-container{ class: container_class } .prometheus-container{ class: container_class }
.top-area .top-area
...@@ -21,4 +20,3 @@ ...@@ -21,4 +20,3 @@
"empty-unable-to-connect-svg-path": image_path('illustrations/monitoring/unable_to_connect'), "empty-unable-to-connect-svg-path": image_path('illustrations/monitoring/unable_to_connect'),
"additional-metrics": additional_metrics_project_environment_path(@project, @environment, format: :json), "additional-metrics": additional_metrics_project_environment_path(@project, @environment, format: :json),
"has-metrics": "#{@environment.has_metrics?}", deployment_endpoint: project_environment_deployments_path(@project, @environment, format: :json) } } "has-metrics": "#{@environment.has_metrics?}", deployment_endpoint: project_environment_deployments_path(@project, @environment, format: :json) } }
- @no_container = true - @no_container = true
- breadcrumb_title "Environments" - breadcrumb_title "Environments"
- page_title 'New Environment' - page_title 'New Environment'
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- add_to_breadcrumbs "Environments", project_environments_path(@project) - add_to_breadcrumbs "Environments", project_environments_path(@project)
- breadcrumb_title @environment.name - breadcrumb_title @environment.name
- page_title "Environments" - page_title "Environments"
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
.row.top-area.adjust .row.top-area.adjust
......
- @no_container = true - @no_container = true
- page_title "Terminal for environment", @environment.name - page_title "Terminal for environment", @environment.name
= render "projects/pipelines/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= stylesheet_link_tag "xterm/xterm" = stylesheet_link_tag "xterm/xterm"
......
- page_title "Find File", @ref - page_title "Find File", @ref
= render "projects/commits/head"
.file-finder-holder.tree-holder.clearfix.js-file-finder{ 'data-file-find-url': "#{escape_javascript(project_files_path(@project, @ref, @options.merge(format: :json)))}", 'data-find-tree-url': escape_javascript(project_tree_path(@project, @ref)), 'data-blob-url-template': escape_javascript(project_blob_path(@project, @id || @commit.id)) } .file-finder-holder.tree-holder.clearfix.js-file-finder{ 'data-file-find-url': "#{escape_javascript(project_files_path(@project, @ref, @options.merge(format: :json)))}", 'data-find-tree-url': escape_javascript(project_tree_path(@project, @ref)), 'data-blob-url-template': escape_javascript(project_blob_path(@project, @id || @commit.id)) }
.nav-block .nav-block
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
= webpack_bundle_tag('common_d3') = webpack_bundle_tag('common_d3')
= webpack_bundle_tag('graphs') = webpack_bundle_tag('graphs')
= webpack_bundle_tag('graphs_charts') = webpack_bundle_tag('graphs_charts')
= render "projects/commits/head"
.repo-charts{ class: container_class } .repo-charts{ class: container_class }
%h4.sub-header %h4.sub-header
......
...@@ -5,8 +5,6 @@ ...@@ -5,8 +5,6 @@
= webpack_bundle_tag('graphs') = webpack_bundle_tag('graphs')
= webpack_bundle_tag('graphs_show') = webpack_bundle_tag('graphs_show')
= render 'projects/commits/head'
.js-graphs-show{ class: container_class, 'data-project-graph-path': project_graph_path(@project, current_ref, format: :json) } .js-graphs-show{ class: container_class, 'data-project-graph-path': project_graph_path(@project, current_ref, format: :json) }
.sub-header-block .sub-header-block
.tree-ref-holder .tree-ref-holder
......
= render 'projects/settings/head'
.row.prepend-top-default.append-bottom-default .row.prepend-top-default.append-bottom-default
.col-lg-3 .col-lg-3
%h4.prepend-top-0 %h4.prepend-top-0
......
- page_title 'Integrations' - page_title 'Integrations'
= render 'projects/settings/head'
.row.prepend-top-default .row.prepend-top-default
.col-lg-3 .col-lg-3
...@@ -19,4 +18,3 @@ ...@@ -19,4 +18,3 @@
%hr %hr
= render partial: 'projects/hook_logs/index', locals: { hook: @hook, hook_logs: @hook_logs, project: @project } = render partial: 'projects/hook_logs/index', locals: { hook: @hook, hook_logs: @hook_logs, project: @project }
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
- if project_nav_tab?(:issues) && !current_controller?(:merge_requests)
= nav_link(controller: :issues) do
= link_to project_issues_path(@project), title: 'Issues' do
%span
List
= nav_link(controller: :boards) do
-# EE should use plural "Boards"
= link_to project_boards_path(@project), title: 'Boards' do
%span
Boards
- if project_nav_tab?(:merge_requests) && current_controller?(:merge_requests)
= nav_link(controller: :merge_requests) do
= link_to project_merge_requests_path(@project), title: 'Merge Requests' do
%span
Merge Requests
- if project_nav_tab? :labels
= nav_link(controller: :labels) do
= link_to project_labels_path(@project), title: 'Labels' do
%span
Labels
- if project_nav_tab? :milestones
= nav_link(controller: :milestones) do
= link_to project_milestones_path(@project), title: 'Milestones' do
%span
Milestones
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
- page_title "Issues" - page_title "Issues"
- new_issue_email = @project.new_issue_address(current_user) - new_issue_email = @project.new_issue_address(current_user)
= content_for :sub_nav do
= render "projects/issues/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= webpack_bundle_tag 'common_vue' = webpack_bundle_tag 'common_vue'
......
- @no_container = true - @no_container = true
- page_title "Jobs" - page_title "Jobs"
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
.top-area .top-area
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- add_to_breadcrumbs "Jobs", project_jobs_path(@project) - add_to_breadcrumbs "Jobs", project_jobs_path(@project)
- breadcrumb_title "##{@build.id}" - breadcrumb_title "##{@build.id}"
- page_title "#{@build.name} (##{@build.id})", "Jobs" - page_title "#{@build.name} (##{@build.id})", "Jobs"
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
.build-page.js-build-page .build-page.js-build-page
......
- @no_container = true - @no_container = true
- page_title "Edit", @label.name, "Labels" - page_title "Edit", @label.name, "Labels"
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
...@@ -3,8 +3,6 @@ ...@@ -3,8 +3,6 @@
- hide_class = '' - hide_class = ''
- can_admin_label = can?(current_user, :admin_label, @project) - can_admin_label = can?(current_user, :admin_label, @project)
= render "shared/mr_head"
- if @labels.exists? || @prioritized_labels.exists? - if @labels.exists? || @prioritized_labels.exists?
%div{ class: container_class } %div{ class: container_class }
.top-area.adjust .top-area.adjust
......
- @no_container = true - @no_container = true
- breadcrumb_title "Labels" - breadcrumb_title "Labels"
- page_title "New Label" - page_title "New Label"
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
= nav_link(controller: :merge_requests) do
= link_to project_merge_requests_path(@project), title: 'Merge Requests' do
%span
List
- if project_nav_tab? :labels
= nav_link(controller: :labels) do
= link_to project_labels_path(@project), title: 'Labels' do
%span
Labels
- if project_nav_tab? :milestones
= nav_link(controller: :milestones) do
= link_to project_milestones_path(@project), title: 'Milestones' do
%span
Milestones
...@@ -4,9 +4,6 @@ ...@@ -4,9 +4,6 @@
- new_merge_request_path = project_new_merge_request_path(merge_project) if merge_project - new_merge_request_path = project_new_merge_request_path(merge_project) if merge_project
- page_title "Merge Requests" - page_title "Merge Requests"
- unless @project.issues_enabled?
= content_for :sub_nav do
= render "projects/merge_requests/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= webpack_bundle_tag 'common_vue' = webpack_bundle_tag 'common_vue'
......
- @no_container = true - @no_container = true
- page_title "Edit", @milestone.title, "Milestones" - page_title "Edit", @milestone.title, "Milestones"
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
......
- @no_container = true - @no_container = true
- page_title 'Milestones' - page_title 'Milestones'
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
.top-area .top-area
= render 'shared/milestones_filter', counts: milestone_counts(@project.milestones) = render 'shared/milestones_filter', counts: milestone_counts(@project.milestones)
......
- @no_container = true - @no_container = true
- breadcrumb_title "Milestones" - breadcrumb_title "Milestones"
- page_title "New Milestone" - page_title "New Milestone"
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
%h3.page-title %h3.page-title
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
- breadcrumb_title @milestone.title - breadcrumb_title @milestone.title
- page_title @milestone.title, "Milestones" - page_title @milestone.title, "Milestones"
- page_description @milestone.description - page_description @milestone.description
= render "shared/mr_head"
%div{ class: container_class } %div{ class: container_class }
.detail-page-header.milestone-page-header .detail-page-header.milestone-page-header
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- page_title "Graph", @ref - page_title "Graph", @ref
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('network') = page_specific_javascript_bundle_tag('network')
= render "projects/commits/head"
= render "head" = render "head"
%div{ class: container_class } %div{ class: container_class }
.project-network .project-network
......
- page_title 'Pages' - page_title 'Pages'
= render "projects/settings/head"
%h3.page_title %h3.page_title
Pages Pages
......
- @no_container = true - @no_container = true
- page_title "File Locks" - page_title "File Locks"
= render "projects/commits/head"
%div{ class: (container_class) } %div{ class: (container_class) }
.top-area .top-area
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
- @no_container = true - @no_container = true
- page_title _("Pipeline Schedules") - page_title _("Pipeline Schedules")
= render "projects/pipelines/head"
%div{ class: container_class } %div{ class: container_class }
#pipeline-schedules-callout{ data: { docs_url: help_page_path('user/project/pipelines/schedules') } } #pipeline-schedules-callout{ data: { docs_url: help_page_path('user/project/pipelines/schedules') } }
.top-area .top-area
......
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
- if project_nav_tab? :pipelines
= nav_link(path: ['pipelines#index', 'pipelines#show']) do
= link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do
%span
Pipelines
- if project_nav_tab? :builds
= nav_link(controller: [:jobs, :artifacts]) do
= link_to project_jobs_path(@project), title: 'Jobs', class: 'shortcuts-builds' do
%span
Jobs
- if project_nav_tab? :pipelines
= nav_link(controller: :pipeline_schedules) do
= link_to pipeline_schedules_path(@project), title: 'Schedules', class: 'shortcuts-builds' do
%span
Schedules
- if project_nav_tab? :environments
= nav_link(controller: :environments) do
= link_to project_environments_path(@project), title: 'Environments', class: 'shortcuts-environments' do
%span
Environments
- if @project.feature_available?(:builds, current_user) && !@project.empty_repo?
= nav_link(path: 'pipelines#charts') do
= link_to charts_project_pipelines_path(@project), title: 'Charts', class: 'shortcuts-pipelines-charts' do
%span
Charts
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_d3') = page_specific_javascript_bundle_tag('common_d3')
= page_specific_javascript_bundle_tag('graphs') = page_specific_javascript_bundle_tag('graphs')
= render 'head'
%div{ class: container_class } %div{ class: container_class }
.sub-header-block .sub-header-block
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
= content_for :flash_message do = content_for :flash_message do
= render 'shared/shared_runners_minutes_limit', project: @project = render 'shared/shared_runners_minutes_limit', project: @project
= render "projects/pipelines/head"
%div{ 'class' => container_class } %div{ 'class' => container_class }
- if show_auto_devops_callout?(@project) - if show_auto_devops_callout?(@project)
= render 'shared/auto_devops_callout' = render 'shared/auto_devops_callout'
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- add_to_breadcrumbs "Pipelines", project_pipelines_path(@project) - add_to_breadcrumbs "Pipelines", project_pipelines_path(@project)
- breadcrumb_title "##{@pipeline.id}" - breadcrumb_title "##{@pipeline.id}"
- page_title "Pipeline" - page_title "Pipeline"
= render "projects/pipelines/head"
.js-pipeline-container{ class: container_class, data: { controller_action: "#{controller.action_name}" } } .js-pipeline-container{ class: container_class, data: { controller_action: "#{controller.action_name}" } }
- if @commit - if @commit
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
- add_to_breadcrumbs "Tags", project_tags_path(@project) - add_to_breadcrumbs "Tags", project_tags_path(@project)
- breadcrumb_title @tag.name - breadcrumb_title @tag.name
- page_title "Edit", @tag.name, "Tags" - page_title "Edit", @tag.name, "Tags"
= render "projects/commits/head"
%div{ class: container_class } %div{ class: container_class }
.sub-header-block.no-bottom-space .sub-header-block.no-bottom-space
......
...@@ -2,5 +2,4 @@ ...@@ -2,5 +2,4 @@
- page_title @service.title, "Services" - page_title @service.title, "Services"
- add_to_breadcrumbs("Settings", edit_project_path(@project)) - add_to_breadcrumbs("Settings", edit_project_path(@project))
= render "projects/settings/head"
= render 'form' = render 'form'
= content_for :sub_nav do
.scrolling-tabs-container.sub-nav-scroll
= render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
- can_edit = can?(current_user, :admin_project, @project)
- if can_edit
= nav_link(controller: :projects) do
= link_to edit_project_path(@project), title: 'General' do
%span
General
- if can_edit
= nav_link(controller: [:integrations, :services, :hooks, :hook_logs]) do
= link_to project_settings_integrations_path(@project), title: 'Integrations' do
%span
Integrations
= nav_link(controller: :repository) do
= link_to project_settings_repository_path(@project), title: 'Repository' do
%span
Repository
- if @project.feature_available?(:builds, current_user)
= nav_link(controller: :ci_cd) do
= link_to project_settings_ci_cd_path(@project), title: 'Pipelines' do
%span
Pipelines
- if @project.pages_available?
= nav_link(controller: :pages) do
= link_to project_pages_path(@project), title: 'Pages' do
%span
Pages
= render 'projects/settings/ee/nav'
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
- page_title "CI / CD Settings" - page_title "CI / CD Settings"
- page_title "CI / CD" - page_title "CI / CD"
= render "projects/settings/head"
- expanded = Rails.env.test? - expanded = Rails.env.test?
%section.settings#js-general-pipeline-settings %section.settings#js-general-pipeline-settings
......
- @content_class = "limit-container-width" unless fluid_layout - @content_class = "limit-container-width" unless fluid_layout
- breadcrumb_title "Integrations Settings" - breadcrumb_title "Integrations Settings"
- page_title 'Integrations' - page_title 'Integrations'
= render "projects/settings/head"
= render 'projects/hooks/index' = render 'projects/hooks/index'
= render 'projects/services/index' = render 'projects/services/index'
- @content_class = "limit-container-width" unless fluid_layout - @content_class = "limit-container-width" unless fluid_layout
- page_title "Members" - page_title "Members"
= render "projects/settings/head"
= render "projects/project_members/index" = render "projects/project_members/index"
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
- page_title "Repository" - page_title "Repository"
- @content_class = "limit-container-width" unless fluid_layout - @content_class = "limit-container-width" unless fluid_layout
= render "projects/settings/head"
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_vue') = page_specific_javascript_bundle_tag('common_vue')
= page_specific_javascript_bundle_tag('deploy_keys') = page_specific_javascript_bundle_tag('deploy_keys')
......
- page_title 'Edit Slack integration' - page_title 'Edit Slack integration'
= render "projects/settings/head"
.row.prepend-top-default.append-bottom-default .row.prepend-top-default.append-bottom-default
.col-lg-3 .col-lg-3
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
= render partial: 'flash_messages', locals: { project: @project } = render partial: 'flash_messages', locals: { project: @project }
= render "projects/head"
= render "projects/last_push" = render "projects/last_push"
= render "home_panel" = render "home_panel"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment