Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans: Add Single Product Jetpack Backup #14018

Merged
merged 28 commits into from
Nov 18, 2019

Conversation

robertf4
Copy link
Contributor

Changes proposed in this Pull Request:

This PR adds a card to the Plans page to sell Jetpack Backup.

Current development:
image

Figma design:
image

Is this a new feature or does it add/remove features to an existing part of Jetpack?

See the P2 here for the design of this PR: p1HpG7-7MK-p2 (specifically the part titled "WP Admin Desktop")
See the P2 here for the overall MT: p1HpG7-7ET-p2

Testing instructions:

  • Go to the Plans page on a Jetpack site with a free plan.
  • Verify that the Jetpack Backup card shows.
  • Verify that you can toggle between realtime and daily.
  • Verify that the upgrade button works.

Proposed changelog entry for your changes:

  • Added upgrade path for Jetpack Backup to Plans page.

@robertf4 robertf4 added [Status] In Progress Admin Page React-powered dashboard under the Jetpack menu Plans labels Nov 12, 2019
@robertf4 robertf4 requested a review from a team as a code owner November 12, 2019 04:24
@robertf4 robertf4 changed the title Add/single product jetpack backup to plans page Plans: Add Single Product Jetpack Backup Nov 12, 2019
@jetpackbot
Copy link

jetpackbot commented Nov 12, 2019

Warnings
⚠️

pre-commit hook was skipped for one or more commits

This is an automated check which relies on PULL_REQUEST_TEMPLATE. We encourage you to follow that template as it helps Jetpack maintainers do their job. If you think 'Testing instructions' or 'Proposed changelog entry' are not needed for your PR - please explain why you think so. Thanks for cooperation 🤖

Generated by 🚫 dangerJS against 6715027

@robertf4 robertf4 changed the base branch from master to add/products-data-component November 12, 2019 04:35
@robertf4 robertf4 added [Status] Needs Review To request a review from Crew. Label will be renamed soon. and removed [Status] In Progress labels Nov 12, 2019
@robertf4
Copy link
Contributor Author

Note to reviewers: differences between this PR and #13766:

  • I integrated the actual server data
  • Everything should be I18N'd now

Copy link
Member

@tyxla tyxla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @robertf4, nice work! This appears to work well in my testing.

I really appreciate all the great progress here, but I still think this PR could be split to some more PRs - especially all the presentational components that this PR is introducing.

I've also left some suggestions, questions and feedback, let me know what you think.

_inc/client/plans/index.jsx Show resolved Hide resolved
);
}

export function PlanPriceDisplay( props ) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we implement all of those components in their own PRs? I'm concerned that when they're in those big PRs they can be overlooked. I'm happy to help with reviewing all those PRs and whetever else you might need.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I put each component in its own PR except for SingleProductBackupHeader, which I left here since it is pretty small.

#14025
#14026
#14027

_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
onChange={ onChange }
/>
</div>
<div className="plan-radio-button__plan-name">{ planName }</div>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None of these are currently usable enough - they should all be labels, so when I click on them, we select the corresponding radio buttons.

<div className="plan-radio-button__plan-name">{ planName }</div>
<div className="plan-radio-button__plan-price">
{ planPrice &&
__( '%(currencySymbol)s%(planPrice)s /year', {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of those components aren't prepared for monthly support. Others seem to be prepared for that. I find this pretty confusing - are we planning to have monthly product support? If not, should we omit any monthly mention in this PR? If yes, should we implement it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only time monthly is currently used is for calculating the larger price as monthly * 12. It is necessary to display the larger price correctly, but I am not using monthly for anything else.

_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
_inc/client/plans/single-product-backup.jsx Outdated Show resolved Hide resolved
@jeherve jeherve added [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! and removed [Status] Needs Review To request a review from Crew. Label will be renamed soon. labels Nov 12, 2019
@jeherve jeherve added this to the 8.0 milestone Nov 12, 2019
@jeherve jeherve added the [Status] Needs Design Review Design has been added. Needs a review! label Nov 12, 2019
Copy link
Contributor

@keoshi keoshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks good to me. I have a few notes though:

Different typefaces and composition between adjacent elements

Top headings are using system fonts, the bottom is using Roboto.

image

Not enough room for elements to breathe

In particular, there's no room between the backups box and the monthly/yearly toggle.

image

Monthly/Yearly toggle doesn't affect Jetpack Backup pricing

Different currency displayed in product/plans

Different price formatting: /year vs per year

jp-backups-pricing-01

Page looks too pyramid-like, with no balance at the top

image

Plans are not displayed on mobile but single products are, making the headline a bit confusing

image

cc @eeeeevon13

@robertf4 robertf4 force-pushed the add/single-product-jetpack-backup-to-plans-page branch from 906af0f to b3543e1 Compare November 14, 2019 05:23
@robertf4 robertf4 force-pushed the add/single-product-jetpack-backup-to-plans-page branch from b3543e1 to 1d13019 Compare November 14, 2019 05:41
@robertf4 robertf4 changed the base branch from add/products-data-component to add/plan-radio-button November 14, 2019 05:41
@robertf4 robertf4 force-pushed the add/single-product-jetpack-backup-to-plans-page branch from 1d13019 to 09c8d67 Compare November 14, 2019 05:58
@robertf4 robertf4 changed the base branch from add/plan-radio-button to add/products-data-component November 14, 2019 05:58
@robertf4 robertf4 changed the base branch from add/products-data-component to add/plan-price-display-component November 14, 2019 06:00
@robertf4 robertf4 force-pushed the add/single-product-jetpack-backup-to-plans-page branch from 09c8d67 to 01cc0ab Compare November 14, 2019 06:19
@robertf4 robertf4 changed the base branch from add/plan-price-display-component to add/single-product-backup-body-component November 14, 2019 06:19
@robertf4 robertf4 force-pushed the add/single-product-jetpack-backup-to-plans-page branch from 195f8df to 6715027 Compare November 18, 2019 16:48
@robertf4
Copy link
Contributor Author

@jeherve @tyxla this is now rebased against master.

@jeherve jeherve added [Status] Needs Review To request a review from Crew. Label will be renamed soon. and removed [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! labels Nov 18, 2019
Copy link
Member

@jeherve jeherve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. Currency management may need to be revisited as discussed in #14060, but that can be done in a future PR 👍

Feel free to merge that one!

@jeherve jeherve added [Status] Ready to Merge Go ahead, you can push that green button! and removed [Status] Needs Review To request a review from Crew. Label will be renamed soon. labels Nov 18, 2019
@robertf4 robertf4 dismissed tyxla’s stale review November 18, 2019 18:26

Further issues to be addressed in followup PRs

@robertf4 robertf4 merged commit 4f591d0 into master Nov 18, 2019
@robertf4 robertf4 deleted the add/single-product-jetpack-backup-to-plans-page branch November 18, 2019 18:27
@matticbot matticbot added [Status] Needs Changelog and removed [Status] Ready to Merge Go ahead, you can push that green button! labels Nov 18, 2019
@jeherve jeherve removed [Status] Needs Changelog [Status] Needs Design Review Design has been added. Needs a review! labels Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Admin Page React-powered dashboard under the Jetpack menu Plans
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants