Review changes

This commit is contained in:
Luke Bennett 2018-09-13 14:04:43 +01:00
parent 769808732d
commit f8e74da721
No known key found for this signature in database
GPG key ID: 402ED51FB5D306C2
10 changed files with 248 additions and 1 deletions

View file

@ -4,5 +4,5 @@ export default function gcpSignupOffer() {
const alertEl = document.querySelector('.gcp-signup-offer'); const alertEl = document.querySelector('.gcp-signup-offer');
if (!alertEl) return; if (!alertEl) return;
new PersistentUserCallout(alertEl).init(); new PersistentUserCallout(alertEl);
} }

View file

@ -0,0 +1 @@
import '../dashboard/projects/index';

View file

@ -8,6 +8,8 @@ export default class PersistentUserCallout {
this.container = container; this.container = container;
this.dismissEndpoint = dismissEndpoint; this.dismissEndpoint = dismissEndpoint;
this.featureId = featureId; this.featureId = featureId;
this.init();
} }
init() { init() {

View file

@ -19,6 +19,29 @@ module DashboardHelper
links.any? { |link| dashboard_nav_link?(link) } links.any? { |link| dashboard_nav_link?(link) }
end end
def controller_action_to_child_dashboards(controller = controller_name, action = action_name)
case "#{controller}##{action}"
when 'projects#index', 'root#index', 'projects#starred', 'projects#trending'
['projects', 'stars']
when 'dashboard#activity'
['starred_project_activity', 'project_activity']
when 'groups#index'
['groups']
when 'todos#index'
['todos']
when 'dashboard#issues'
['issues']
when 'dashboard#merge_requests'
['merge_requests']
else
[]
end
end
def is_default_dashboard?(user = current_user)
controller_action_to_child_dashboards.any? {|dashboard| dashboard == user.dashboard }
end
private private
def get_dashboard_nav_links def get_dashboard_nav_links

View file

@ -2,6 +2,9 @@
- page_title _("Groups") - page_title _("Groups")
- header_title _("Groups"), dashboard_groups_path - header_title _("Groups"), dashboard_groups_path
= content_for :above_breadcrumbs_content do
= render_if_exists "shared/gold_trial_callout"
- if current_user - if current_user
= render 'dashboard/groups_head' = render 'dashboard/groups_head'
- else - else

View file

@ -2,6 +2,9 @@
- page_title _("Projects") - page_title _("Projects")
- header_title _("Projects"), dashboard_projects_path - header_title _("Projects"), dashboard_projects_path
= content_for :above_breadcrumbs_content do
= render_if_exists "shared/gold_trial_callout"
- if current_user - if current_user
= render 'dashboard/projects_head' = render 'dashboard/projects_head'
- else - else

View file

@ -2,6 +2,9 @@
- page_title _("Projects") - page_title _("Projects")
- header_title _("Projects"), dashboard_projects_path - header_title _("Projects"), dashboard_projects_path
= content_for :above_breadcrumbs_content do
= render_if_exists "shared/gold_trial_callout"
- if current_user - if current_user
= render 'dashboard/projects_head' = render 'dashboard/projects_head'
- else - else

View file

@ -2,6 +2,9 @@
- page_title _("Projects") - page_title _("Projects")
- header_title _("Projects"), dashboard_projects_path - header_title _("Projects"), dashboard_projects_path
= content_for :above_breadcrumbs_content do
= render_if_exists "shared/gold_trial_callout"
- if current_user - if current_user
= render 'dashboard/projects_head' = render 'dashboard/projects_head'
- else - else

View file

@ -0,0 +1,193 @@
.user-callout.promotion-callout {
margin: 20px 0 0;
&.prepend-top-10 {
margin-top: 10px;
}
&.append-bottom-20 {
margin-bottom: 20px;
}
.user-callout-copy {
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
.bordered-box {
padding: 20px;
border-color: $border-color;
background-color: $white-light;
align-items: flex-start;
.close {
.dismiss-icon {
color: $gray-darkest;
}
&:hover {
.dismiss-icon {
color: $text-color;
}
}
}
.svg-container {
margin-right: 15px;
}
}
&.promotion-empty-page {
margin-top: 56px;
}
&.promotion-advanced-search {
margin: 0;
border-bottom: solid 1px $border-color;
h5 {
margin-top: 0;
}
.bordered-box.content-block {
border: 0;
padding: 20px 0;
justify-content: left;
svg {
height: auto;
}
}
.user-callout-copy {
margin-left: 0;
}
}
.promotion-burndown-charts-content {
justify-content: end;
.svg-container {
margin-left: 4px;
margin-right: 24px;
}
.user-callout-copy {
margin: 0;
}
}
&.thin-callout {
.bordered-box {
padding: $gl-padding;
padding-left: 40px;
.close {
position: relative;
top: 0;
right: 0;
}
}
.svg-container .svg {
max-width: 39px;
max-height: 39px;
}
}
}
.promotion-modal {
.modal-dialog {
width: 540px;
}
.modal-header {
border-bottom: 0;
}
.modal-body {
margin-top: -20px;
padding: 16px 16px 32px;
}
.modal-footer {
border-top: 0;
}
}
.promotion-backdrop {
background-color: $white-transparent;
position: absolute;
padding-top: 72px;
.user-callout-copy {
max-width: 700px;
}
}
.promotion-issue-sidebar {
.promotion-issue-sidebar-message {
padding: $gl-padding-top;
.dropdown-title {
margin: 0 0 10px;
}
.btn + .btn {
margin-top: $gl-padding-4;
}
}
.btn {
padding: $gl-vert-padding $gl-btn-padding;
border-radius: $border-radius-default;
display: block;
line-height: $line-height-base;
}
.right-sidebar & .btn-link {
display: inline;
color: $blue-600;
background-color: transparent;
padding: 0;
&:hover {
background-color: transparent;
color: $blue-800;
}
}
}
.promotion-issue-template-message {
padding: $gl-padding 30px 20px $gl-padding;
p {
margin-right: 20px;
}
.dropdown-title {
margin: 0 -25px;
padding: 0;
overflow: initial;
border-bottom: 0;
}
.btn {
padding: $gl-vert-padding $gl-btn-padding;
border-radius: $border-radius-default;
display: inline-block;
line-height: $line-height-base;
}
.btn-link {
display: inline;
color: $blue-600;
padding: 0;
&:hover {
background-color: transparent;
color: $blue-800;
}
}
}

View file

@ -0,0 +1,16 @@
- if show_gold_trial? && is_default_dashboard?
.pt-1.d-none.d-md-block{ class: container_class }
.user-callout.promotion-callout.thin-callout.js-gold-trial-callout{ data: { uid: 'trial_callout_dismissed', feature_id: UserCalloutsHelper::GOLD_TRIAL, dismiss_endpoint: user_callouts_path } }
.bordered-box.justify-content-left.align-items-center
.svg-container
= image_tag 'illustrations/golden_tanuki.svg', class: 'svg'
.d-flex.flex-grow.align-items-center
.user-callout-copy.ml-0
%h5.mb-0.mt-0= _('Free Trial of GitLab.com Gold')
%p.mb-0
%span= _('Try all GitLab has to offer for 30 days.')
%span.d-none.d-sm-inline= _('No credit card required.')
= link_to _('Start your trial'), 'https://customers.gitlab.com/trials/new?gl_com=true', class: 'btn btn-primary mr-5 mt-2 mt-sm-0', target: '_blank'
%button.btn.btn-default.close.js-close{ type: 'button',
'aria-label' => _('Dismiss trial promotion') }
= icon('times', class: 'dismiss-icon', 'aria-hidden' => 'true')