Skip to content

Commit

Permalink
Update/domains plans changes (Automattic#28444)
Browse files Browse the repository at this point in the history
* updating various upgrade nudges and warnings mentioning domain credits

* fix linting issue

* adding a bit more disclosure based on PR feedback from https://github.com/Automattic/wp-calypso/pull/28256\#issuecomment-435930383

* update /plan and signup pages

* tweak the custom domain title to match suggested text

* Fix lowercase version

* add context for titles and tweak string to avoid duplication
  • Loading branch information
rralian authored Nov 19, 2018
1 parent 093793d commit 9ff764c
Show file tree
Hide file tree
Showing 11 changed files with 36 additions and 29 deletions.
1 change: 1 addition & 0 deletions client/blocks/eligibility-warnings/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ export const EligibilityWarnings = ( {
{ hasBusinessPlan &&
! isJetpack &&
includes( bannerHolds, 'NOT_USING_CUSTOM_DOMAIN' ) && (
// TODO: confirm the user has domain credit
<Banner
className="eligibility-warnings__banner"
description={
Expand Down
2 changes: 1 addition & 1 deletion client/lib/discounts/active-discounts.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export default [
name: 'free_domain',
plansPageNoticeTextTitle: 'Get a free domain name by upgrading to any plan listed below!',
plansPageNoticeText:
'Improve your SEO, branding, credibility, and even word-of-mouth marketing with a custom domain. All plan upgrades include a free domain name of your choice.',
'Improve your SEO, branding, credibility, and even word-of-mouth marketing with a custom domain. All plan upgrades include a free domain name of your choice for one year.',
},
{
name: 'october25',
Expand Down
24 changes: 14 additions & 10 deletions client/lib/plans/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -1147,19 +1147,19 @@ export const FEATURES_LIST = {

[ FEATURE_FREE_BLOG_DOMAIN ]: {
getSlug: () => FEATURE_ADVANCED_CUSTOMIZATION,
getTitle: () => i18n.translate( 'Free .blog domain' ),
getTitle: () => i18n.translate( 'Free .blog Domain for One Year' ),
getDescription: () =>
i18n.translate(
'Get a free custom domain name (example.blog) with this plan to use for your website.'
'Get a free .blog domain for one year. Premium domains not included. Your domain will renew at its regular price.'
),
},

[ FEATURE_FREE_DOMAIN ]: {
getSlug: () => FEATURE_FREE_DOMAIN,
getTitle: () => i18n.translate( 'Free custom domain' ),
getTitle: () => i18n.translate( 'Free domain for one year' ),
getDescription: () =>
i18n.translate(
'Get a free custom domain name (example.com) with this plan to use for your website.'
'Get a free domain for one year. Premium domains not included. Your domain will renew at its regular price.'
),
},

Expand Down Expand Up @@ -1317,7 +1317,10 @@ export const FEATURES_LIST = {

[ FEATURE_BLOG_DOMAIN ]: {
getSlug: () => FEATURE_BLOG_DOMAIN,
getTitle: () => i18n.translate( 'Custom .blog Domain' ),
getTitle: () =>
i18n.translate( 'Free .blog Domain for One Year', {
context: 'title',
} ),
getDescription: ( abtest, domainName ) => {
if ( domainName ) {
return i18n.translate( 'Your domain (%s) is included with this plan.', {
Expand All @@ -1326,15 +1329,17 @@ export const FEATURES_LIST = {
}

return i18n.translate(
'Get a free custom domain name (example.blog) with this plan ' +
'to use for your website. Does not apply to premium domains.'
'Get a free .blog domain for one year. Premium domains not included. Your domain will renew at its regular price.'
);
},
},

[ FEATURE_CUSTOM_DOMAIN ]: {
getSlug: () => FEATURE_CUSTOM_DOMAIN,
getTitle: () => i18n.translate( 'Custom Domain Name' ),
getTitle: () =>
i18n.translate( 'Free Domain for One Year', {
context: 'title',
} ),
getDescription: ( abtest, domainName ) => {
if ( domainName ) {
return i18n.translate( 'Your domain (%s) is included with this plan.', {
Expand All @@ -1343,8 +1348,7 @@ export const FEATURES_LIST = {
}

return i18n.translate(
'Get a free custom domain name (example.com) with this plan ' +
'to use for your website. Does not apply to premium domains.'
'Get a free domain for one year. Premium domains not included. Your domain will renew at its regular price.'
);
},
},
Expand Down
1 change: 1 addition & 0 deletions client/me/purchases/cancel-purchase/refund-information.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ const CancelPurchaseRefundInformation = ( {
const planCostText =
purchase.currencySymbol + ( purchase.refundAmount + includedDomainPurchase.amount );
if ( isRefundable( includedDomainPurchase ) ) {
// TODO: confirm this should not show up after cutoff date
text.push(
i18n.translate(
'Your plan included the custom domain %(domain)s. You can cancel your domain as well as the plan, but keep ' +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ const CustomDomainPurchaseDetail = ( {
description={
onlyBlogDomain
? translate(
'Your plan includes a free .blog domain, which gives your site a more professional, branded feel.'
'Your plan includes a free .blog domain for one year, which gives your site a more professional, branded feel.'
)
: translate(
'Your plan includes a free custom domain, which gives your site a more professional, branded feel.'
'Your plan includes a free custom domain for one year, which gives your site a more professional, branded feel.'
)
}
buttonText={ translate( 'Claim your free domain' ) }
Expand All @@ -53,7 +53,7 @@ const CustomDomainPurchaseDetail = ( {
icon={ <img alt="" src={ customDomainIcon } /> }
title={ translate( 'Custom Domain' ) }
description={ translate(
'Your plan includes the custom domain {{em}}%(siteDomain)s{{/em}}, your own personal corner of the web.',
'Your plan includes one year of your custom domain {{em}}%(siteDomain)s{{/em}}, your own personal corner of the web.',
{
args: { siteDomain: selectedSite.domain },
components: { em: <em /> },
Expand Down
11 changes: 4 additions & 7 deletions client/my-sites/checkout/checkout/free-cart-payment-box.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class FreeCartPaymentBox extends React.Component {
<span>
{ cart.has_bundle_credit
? this.props.translate(
'You get one free domain with your subscription to %(productName)s. Time to celebrate!',
'You get a free domain for one year with your subscription to %(productName)s. Time to celebrate!',
{ args: { productName: this.getProductName() } }
)
: this.props.translate(
Expand Down Expand Up @@ -70,17 +70,14 @@ class FreeCartPaymentBox extends React.Component {
};

getProductName = () => {
let cart = this.props.cart,
product;
const cart = this.props.cart;
let product;

if ( cart.has_bundle_credit && this.props.selectedSite.plan ) {
product = this.props.products[ this.props.selectedSite.plan.product_slug ];
}

if ( product ) {
return product.product_name;
}
return '';
return product ? product.product_name : '';
};

getDomainCreditIllustration = () => {
Expand Down
4 changes: 3 additions & 1 deletion client/my-sites/domain-tip/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ class DomainTip extends React.Component {
href={ `/domains/add/${ this.props.siteSlug }` }
message={
this.props.hasDomainCredit
? this.props.translate( 'Your plan includes a free custom domain. Grab this one!' )
? this.props.translate(
'Your plan includes a free custom domain for one year. Grab this one!'
)
: this.props.translate( 'Purchase a custom domain for your site.' )
}
shouldDisplay
Expand Down
4 changes: 2 additions & 2 deletions client/my-sites/feature-upsell/plugins-upsell.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ class PluginsUpsellComponent extends Component {
<li className="feature-upsell__checklist-item">
<Gridicon icon="checkmark-circle" className="feature-upsell__checklist-item-icon" />
<span className="feature-upsell__checklist-item-text">
A free custom domain name.
A free custom domain name for one year.
</span>
</li>
<li className="feature-upsell__checklist-item">
Expand Down Expand Up @@ -253,7 +253,7 @@ class PluginsUpsellComponent extends Component {

<p>
If you accept our offer for a free domain, and you later decide that the Business plan
isn’t for you, the domain is yours to keep. All we ask is that you to cover the domain
isn’t for you, the domain is yours to keep. All we ask is that you cover the domain
registration fees.
</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion client/my-sites/feature-upsell/themes-upsell.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ class ThemesUpsellComponent extends Component {
<li className="feature-upsell__checklist-item">
<Gridicon icon="checkmark-circle" className="feature-upsell__checklist-item-icon" />
<span className="feature-upsell__checklist-item-text">
A free custom domain name.
A free custom domain name for one year.
</span>
</li>
<li className="feature-upsell__checklist-item">
Expand Down
6 changes: 4 additions & 2 deletions client/my-sites/plans-features-main/wpcom-faq.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@ const WpcomFAQ = ( { isChatAvailable, siteSlug, translate } ) => {
<FAQItem
question={ translate( 'Do you sell domains?' ) }
answer={ translate(
'Yes! The Personal, Premium, and Business plans include a free custom domain. That includes new' +
'Yes! The Personal, Premium, and Business plans include a free custom domain for one year. That includes new' +
' domains purchased through WordPress.com or your own existing domain that you can map' +
' to your WordPress.com site. Does not apply to premium domains. {{a}}Find out more about domains.{{/a}}',
' to your WordPress.com site. Does not apply to premium domains. Domain name should be' +
' registered within one year of the purchase of the plan to use this promotion. Registered' +
' domain names will renew at regular prices. {{a}}Find out more about domains.{{/a}}',
{
components: {
a: (
Expand Down
4 changes: 2 additions & 2 deletions client/signup/steps/site-or-domain/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class SiteOrDomain extends Component {
label: translate( 'New site' ),
image: <NewSiteImage />,
description: translate(
'Choose a theme, customize, and launch your site. A free domain is included with all plans.'
'Choose a theme, customize, and launch your site. A free domain for one year is included with all plans.'
),
},
];
Expand All @@ -60,7 +60,7 @@ class SiteOrDomain extends Component {
label: translate( 'Existing WordPress.com site' ),
image: <ExistingSite />,
description: translate(
'Use with a site you already started. A free domain is included with all plans.'
'Use with a site you already started. A free domain for one year is included with all plans.'
),
} );
}
Expand Down

0 comments on commit 9ff764c

Please sign in to comment.