Onboarding consistency: Use StepContainerV2 in checkout#101808
Onboarding consistency: Use StepContainerV2 in checkout#101808
Conversation
Jetpack Cloud live (direct link)
Automattic for Agencies live (direct link)
|
|
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~89 bytes added 📈 [gzipped]) DetailsCommon code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~13626 bytes removed 📉 [gzipped]) DetailsSections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to. Async-loaded Components (~9061 bytes added 📈 [gzipped]) DetailsReact components that are loaded lazily, when a certain part of UI is displayed for the first time. Legend What is parsed and gzip size?Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory. Generated by performance advisor bot at iscalypsofastyet.com. |
|
This PR modifies the release build for the following Calypso Apps: For info about this notification, see here: PCYsg-OT6-p2
To test WordPress.com changes, run |
8bcde2e to
1a7f14b
Compare
434fffd to
4d535f0
Compare
|
The video is great! Could you also include some basic before/after screenshots to highlight what this change solves? Unless the UI is supposed to remain identical and this is just an organizational change? It's not clear to me from the video what's different. I notice this touches both the overall checkout layout as well as the masterbar checkout button in other parts of calypso so some before/after there too would be really helpful. |
|
There you go @sirbrillig. Yes, the changes are mostly aesthetic and organizational, as
Yeah. |
|
Thanks! That's perfect. It's really helpful not only for review but also for a year from now when we try to track down when something changed. 🙇 |
f976ad1 to
944f196
Compare
| if ( canAccessWpcomApis() ) { | ||
| // Use the promise version to do that action without waiting for the result. | ||
| wpcomRequestPromise( { | ||
| path: '/me/preferences', | ||
| apiNamespace: 'wpcom/v2', | ||
| method: 'PUT', | ||
| body: { | ||
| calypso_preferences: { help_center_open: show }, | ||
| }, | ||
| } ).catch( () => {} ); | ||
| } else { | ||
| // Use the promise version to do that action without waiting for the result. | ||
| apiFetchPromise( { | ||
| global: true, | ||
| path: '/help-center/open-state', | ||
| method: 'PUT', | ||
| data: { help_center_open: show }, | ||
| } as APIFetchOptions ).catch( () => {} ); | ||
| } |
There was a problem hiding this comment.
Since we were not awaiting these promises, the try/catch block here had no effect. Now we're silencing these errors.
cc @alshakero
944f196 to
8a56f82
Compare
Just to be clear: we shouldn’t be giving design feedback here because the work does not include styling to design. That will come in another PR? If there is another PR coming then we shouldn't close #101201. I didn't find any functionality issues, but I'm wondering about design specs. For example, in FIgma
|
FWIW the text (and styling) of the submit button changes currently based on the payment method selected. Notably, I think the credit card button reads "Pay X now" and the free purchase button reads "Complete checkout". |
@autumnfjeld, the goal for (this stage of) the onboarding consistency work is to use the top bar and/or wireframe, not to apply consistency internally within the steps according to the designs (i.e., make it pixel-perfect.) Ideally, different teams would rework the page so it "deeply conforms" to the designs, like using the correct font sizes, paddings, colors, etc. The work we're doing right now is introductory as indicated here. p1742998171790499/1742954477.401969-slack-C04H4NY6STW We can keep the issue open if you'd like, but I don't see us coming back to tweak the designs at least in this iteration. |
|
@fditrapani @nuriapenya Can you give your feedback on the tablet mobile layout of the After images on this PR? Particularly around edge paddings and spacing. We want to create another PR that improves the design based on your input. |
It's totally fine this way, and we can refine later on. This is a complicated page. The biggest difference I see is below the fold, is that we lose a bit of margin under the headings, but I totally support this in favor of consistency and simplicity. Let's remember some countries/currencies can benefit from having more condensed layouts on small viewports. |






Related to #101201.
Proposed Changes
Registrazione.schermo.2025-03-25.alle.3.42.31.PM.mov
Observations
Not all elements are according to the designs
This PR mostly focuses on getting the basics right, such as using the top bar and correct small viewport margins.
The page isn't following the
TwoColumnLayoutwireframeIn order to cut scope I ended up using the
FullWidthLayoutand adding the content with its own proportions to make it easier. We can move to theTwoColumnLayoutin the future.The bottom bar on mobile isn't using the
stickyBottomBarpropFor the same reason above: there's already control over how the bottom bar is displayed in the default checkout styling. We can revisit that later.
Testing Instructions
Enter
/setup/onboarding?flags=+onboarding/step-container-v2or/setup/site-setup?siteSlug=%s&flags=+onboarding/step-container-v2and add a paid product to the cart.StepContainerV2 version
Should match Figma's top bar and page margins (W9xI27S6Swvw5Ku21EbZvn-fi-9588_14434)
Prod version
Should not have changes.
Screenshots
Large screen
Nothing should change apart from the top bar and the "Included with your purchase" label, which is aligned on its baseline with the Checkout heading.
Tablet, above fold
The top bar and purchase details collapsible now look different, with the inside paddings also aligned with the top bar. Also the components within it now stretch.
Tablet, below fold
The heading is now smaller and the content is now padded according to StepContainerV2's constraints (16px instead of 24px). Also, the step content within the checkout section are now left aligned to the left instead of aligned to the title of the section.
Table/mobile footer
Minimal changes, mostly padding alignment.