Skip to content
代码片段 群组 项目
提交 5a567846 编辑于 作者: Serhii Yarynovskyi's avatar Serhii Yarynovskyi 提交者: Natalia Tepluhina
浏览文件

Update trial column

Update trial_registrations/new page and company info page
for free sign up

Changelog: changed
上级 dd4f53e4
No related branches found
No related tags found
无相关合并请求
显示
32 个添加113 个删除
......@@ -515,7 +515,6 @@ RSpec/MissingFeatureCategory:
- 'ee/spec/helpers/security_helper_spec.rb'
- 'ee/spec/helpers/subscriptions_helper_spec.rb'
- 'ee/spec/helpers/timeboxes_helper_spec.rb'
- 'ee/spec/helpers/trial_registrations/reassurances_helper_spec.rb'
- 'ee/spec/helpers/users/identity_verification_helper_spec.rb'
- 'ee/spec/initializers/1_settings_spec.rb'
- 'ee/spec/initializers/database_config_spec.rb'
......
......@@ -180,7 +180,6 @@ Style/FormatString:
- 'ee/app/helpers/ee/projects_helper.rb'
- 'ee/app/helpers/ee/timeboxes_helper.rb'
- 'ee/app/helpers/groups/sso_helper.rb'
- 'ee/app/helpers/trial_registrations/reassurances_helper.rb'
- 'ee/app/helpers/vulnerabilities_helper.rb'
- 'ee/app/mailers/ee/emails/admin_notification.rb'
- 'ee/app/mailers/emails/namespace_storage_usage_mailer.rb'
......
# frozen_string_literal: true
module TrialRegistrations
module ReassurancesHelper
def reassurance_logo_data
# Create the basic data structure for the logos we want to showcase
data = [
{ name: 'Siemens', css_classes: reassurance_logo_css_classes(opacity: 5, size: 9) },
{ name: 'Chorus', css_classes: reassurance_logo_css_classes(opacity: 5, size: 9) },
{ name: 'KnowBe4', css_classes: reassurance_logo_css_classes(opacity: 6, size: 9) },
{ name: 'Wish', css_classes: reassurance_logo_css_classes(opacity: 5, size: 8) },
{ name: 'Hotjar', css_classes: reassurance_logo_css_classes(opacity: 5, size: 8) }
]
# Update each entry with a logo image path and alt text derived from the org's name
data.each do |hash|
hash[:image_path] = reassurance_logo_image_path(hash[:name])
hash[:image_alt_text] = reassurance_logo_image_alt_text(hash[:name])
end
data
end
private
def reassurance_logo_css_classes(size:, opacity:)
"gl-w-#{size} gl-h-#{size} gl-mr-#{15 - size} gl-opacity-#{opacity}"
end
def reassurance_logo_image_path(org_name)
'illustrations/third-party-logos/%s.svg' % org_name.parameterize
end
def reassurance_logo_image_alt_text(org_name)
s_('InProductMarketing|%{organization_name} logo') % { organization_name: org_name }
end
end
end
......@@ -21,4 +21,4 @@
%h2.gl-pb-5.gl-my-0
= _("About your company")
#js-registrations-company-form{ data: create_company_form_data.merge(automatic_trial: 'true') }
= render 'automatic_trial_reassurances'
= render 'shared/trial_reassurances'
- ultimate_trial_value_props = [s_('InProductMarketing|Invite unlimited colleagues'), s_('InProductMarketing|Security risk mitigation'), s_('InProductMarketing|Advanced security testing'), s_('InProductMarketing|Portfolio management'), s_('InProductMarketing|Value stream management'), s_('InProductMarketing|Free guest users')]
- ultimate_trial_value_props = [s_('InProductMarketing|Invite unlimited colleagues'),
s_('InProductMarketing|Free guest users'),
s_('InProductMarketing|Ensure compliance'),
s_('InProductMarketing|Built-in security')]
.col-md-4.gl-display-flex.gl-flex-direction-column.gl-align-items-center.gl-justify-content-start
.gl-w-28
.gl-mb-6
= image_tag 'illustrations/saas-trial-illustration.svg'
%h2.gl-mb-2.gl-text-center.gl-text-gray-800= s_('InProductMarketing|Free 30-day trial')
%p.gl-font-lg.gl-text-center.gl-text-gray-800= s_('InProductMarketing|No credit card required.')
%h3.gl-mb-2.gl-text-center.gl-text-black-normal= s_('InProductMarketing|Start your 30-day free trial')
%p.gl-mb-6.gl-text-center.gl-text-black-normal= s_('InProductMarketing|No credit card required')
%ul.gl-pl-0.gl-mb-6.gl-pl-0.gl-mb-6x.gl-text-gray-800.gl-font-sm
%ul.gl-pl-0.gl-mb-6.gl-pl-0.gl-mb-6x.gl-text-black-normal.gl-font-sm
- ultimate_trial_value_props.each do |value_prop|
%li.gl-display-flex.gl-mb-5
%span.gl-mr-3.gl-text-green-400= sprite_icon 'check-circle', css_class: 'gl-icon'
= value_prop
%p.gl-mb-3.gl-text-gray-400.gl-font-sm.gl-line-height-24= s_('InProductMarketing|Used by more than 100,000 organizations from around the globe:')
%ul.gl-display-flex.gl-flex-wrap.gl-pl-0.gl-font-sm.gl-font-weight-bold
- reassurance_logo_data.each do |logo_data|
%li.gl-display-flex.gl-align-items-center{ class: logo_data[:css_classes] }
= image_tag logo_data[:image_path], alt: logo_data[:image_alt_text], title: logo_data[:name], class: 'gl-max-w-full'
.gl-mb-6
= image_tag 'illustrations/saas-trial-illustration.svg'
%h2.gl-mb-2.gl-text-center.gl-text-gray-800= s_('InProductMarketing|Free 30-day trial')
%p.gl-font-lg.gl-text-center.gl-text-gray-800= s_('InProductMarketing|No credit card required.')
%ul.gl-pl-0.gl-mb-6.gl-pl-0.gl-mb-6x.gl-text-gray-800.gl-font-sm
- [s_('InProductMarketing|Increase Operational Efficiencies'), s_('InProductMarketing|Deliver Better Products Faster'), s_('InProductMarketing|Reduce Security and Compliance Risk')].each do |value_prop|
%li.gl-display-flex.gl-mb-5
%span.gl-mr-3.gl-text-green-400= sprite_icon 'check-circle', css_class: 'gl-icon'
= value_prop
%p.gl-mb-3.gl-text-gray-400.gl-font-sm.gl-line-height-24= s_('InProductMarketing|Used by more than 100,000 organizations from around the globe:')
%ul.gl-display-flex.gl-flex-wrap.gl-pl-0.gl-font-sm.gl-font-weight-bold
- reassurance_logo_data.each do |logo_data|
%li.gl-display-flex.gl-align-items-center{ class: logo_data[:css_classes] }
= image_tag logo_data[:image_path], alt: logo_data[:image_alt_text], title: logo_data[:name], class: 'gl-max-w-full'
......@@ -13,12 +13,12 @@
.row.gl-align-items-center
.col-lg-6.gl-display-none.gl-lg-display-flex.gl-flex-direction-column.gl-align-items-center.gl-justify-content-start
%div
= render 'reassurances'
= render 'shared/trial_reassurances'
.col-md-6.offset-md-3.offset-lg-0
%h2.gl-lg-display-none.gl-mb-3.gl-mt-0.gl-text-gray-800
= s_('InProductMarketing|Free 30-day trial')
= s_('InProductMarketing|Start your 30-day free trial')
%p.gl-lg-display-none.gl-font-lg.gl-text-gray-800
= s_('InProductMarketing|No credit card required.')
= s_('InProductMarketing|No credit card required')
.signup-page
= render 'devise/shared/signup_box',
......
......@@ -54,9 +54,8 @@
expect_to_see_company_form
expect(page).to have_content 'Your GitLab Ultimate free trial lasts for 30 days.'
expect(page).to have_content 'Free 30-day trial'
expect(page).to have_content 'Start your 30-day free trial'
expect(page).to have_content 'Invite unlimited colleagues'
expect(page).to have_content 'Used by more than 100,000'
fill_in_company_form
click_on 'Start GitLab Ultimate free trial'
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe TrialRegistrations::ReassurancesHelper do
describe '#reassurance_logo_data' do
it 'returns a collection of data in the expected format' do
expect(reassurance_logo_data).to all(match({
name: an_instance_of(String),
css_classes: a_string_matching(/\Agl-w-\d+ gl-h-\d+ gl-mr-\d+ gl-opacity-\d+\z/),
image_path: a_string_matching(%r{\Aillustrations/third-party-logos/[a-z0-9-]+\.svg\z}),
image_alt_text: a_string_ending_with(' logo')
}))
end
end
end
......@@ -263,7 +263,7 @@ def expect_to_see_import_form
end
def expect_to_be_on_trial_user_registration
expect(page).to have_content('Free 30-day trial')
expect(page).to have_content('Start your 30-day free trial')
end
def expect_to_be_on_user_sign_in
......
......@@ -55,7 +55,6 @@
expect(rendered).to have_content('About your company')
expect(rendered).to have_content('Invite unlimited colleagues')
expect(rendered).to have_content('Used by more than 100,000 organizations from around the globe:')
end
context 'when a user is coming from a trial registration' do
......
......@@ -15,9 +15,8 @@
subject { render && rendered }
it { is_expected.not_to have_content(_('Start a Free Ultimate Trial')) }
it { is_expected.to have_content(s_('InProductMarketing|Free 30-day trial')) }
it { is_expected.to have_content(s_('InProductMarketing|No credit card required.')) }
it { is_expected.to have_selector('img[alt$=" logo"]') }
it { is_expected.to have_content(s_('InProductMarketing|Start your 30-day free trial')) }
it { is_expected.to have_content(s_('InProductMarketing|No credit card required')) }
it { is_expected.to have_content(s_('InProductMarketing|Want to host GitLab on your servers?')) }
it { is_expected.to have_link(s_('InProductMarketing|Start a Self-Managed trial'), href: 'https://about.gitlab.com/free-trial/#selfmanaged/') }
......
......@@ -24352,28 +24352,22 @@ msgstr ""
msgid "In use"
msgstr ""
 
msgid "InProductMarketing|%{organization_name} logo"
msgstr ""
msgid "InProductMarketing|%{strong_start}GitLab Inc.%{strong_end} 268 Bush Street, #350, San Francisco, CA 94104, USA"
msgstr ""
 
msgid "InProductMarketing|Advanced security testing"
msgstr ""
msgid "InProductMarketing|Blog"
msgstr ""
 
msgid "InProductMarketing|Building for iOS? We've got you covered."
msgstr ""
 
msgid "InProductMarketing|Deliver Better Products Faster"
msgid "InProductMarketing|Built-in security"
msgstr ""
 
msgid "InProductMarketing|Facebook"
msgid "InProductMarketing|Ensure compliance"
msgstr ""
 
msgid "InProductMarketing|Free 30-day trial"
msgid "InProductMarketing|Facebook"
msgstr ""
 
msgid "InProductMarketing|Free guest users"
......@@ -24388,28 +24382,19 @@ msgstr ""
msgid "InProductMarketing|If you no longer wish to receive marketing emails from us,"
msgstr ""
 
msgid "InProductMarketing|Increase Operational Efficiencies"
msgstr ""
msgid "InProductMarketing|Invite unlimited colleagues"
msgstr ""
 
msgid "InProductMarketing|Learn how to build for iOS"
msgstr ""
 
msgid "InProductMarketing|No credit card required."
msgstr ""
msgid "InProductMarketing|Portfolio management"
msgstr ""
msgid "InProductMarketing|Reduce Security and Compliance Risk"
msgid "InProductMarketing|No credit card required"
msgstr ""
 
msgid "InProductMarketing|Security risk mitigation"
msgid "InProductMarketing|Start a Self-Managed trial"
msgstr ""
 
msgid "InProductMarketing|Start a Self-Managed trial"
msgid "InProductMarketing|Start your 30-day free trial"
msgstr ""
 
msgid "InProductMarketing|Team members collaborating"
......@@ -24421,12 +24406,6 @@ msgstr ""
msgid "InProductMarketing|Twitter"
msgstr ""
 
msgid "InProductMarketing|Used by more than 100,000 organizations from around the globe:"
msgstr ""
msgid "InProductMarketing|Value stream management"
msgstr ""
msgid "InProductMarketing|Want to get your iOS app up and running, including publishing all the way to TestFlight? Follow our guide to set up GitLab and fastlane to publish iOS apps to the App Store."
msgstr ""
 
......@@ -996,7 +996,6 @@
- './ee/spec/helpers/security_helper_spec.rb'
- './ee/spec/helpers/subscriptions_helper_spec.rb'
- './ee/spec/helpers/timeboxes_helper_spec.rb'
- './ee/spec/helpers/trial_registrations/reassurances_helper_spec.rb'
- './ee/spec/helpers/trial_status_widget_helper_spec.rb'
- './ee/spec/helpers/users_helper_spec.rb'
- './ee/spec/helpers/vulnerabilities_helper_spec.rb'
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册