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

Stepper: Fix navigation UI in Stepper #97256

Merged
merged 10 commits into from
Dec 10, 2024
Merged

Conversation

alshakero
Copy link
Member

@alshakero alshakero commented Dec 9, 2024

Fixes: #97067

Proposed Changes

  • This fixes the navigation buttons and the formatted header in Stepper and makes them consistent with /start.
  • It cleans up the never used shouldStickyNavButtons property and the CSS that comes with it.

Why are these changes being made?

To bring consistency.

Testing Instructions

  1. Using incognito, open two tabs one to /setup/onboarding and one to /start.
  2. The user step should look 99% identical between the two. On desktop and on mobile.
  3. Feel free to leave incognito mode.
  4. The domain step should look 99% identical between the two. On desktop and on mobile.
  5. The plans step should look 99% identical between the two. On desktop and on mobile.

@matticbot
Copy link
Contributor

matticbot commented Dec 9, 2024

Here is how your PR affects size of JS and CSS bundles shipped to the user's browser:

App Entrypoints (~102 bytes added 📈 [gzipped])

name                   parsed_size           gzip_size
entry-main                   +69 B  (+0.0%)     +109 B  (+0.0%)
entry-stepper                +52 B  (+0.0%)     +101 B  (+0.0%)
entry-subscriptions          -39 B  (-0.0%)      +61 B  (+0.0%)
entry-login                  -39 B  (-0.0%)      +62 B  (+0.0%)
entry-domains-landing        -39 B  (-0.0%)      +61 B  (+0.0%)
entry-browsehappy            -39 B  (-0.0%)      +61 B  (+0.1%)

Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used.

Sections (~23733 bytes removed 📉 [gzipped])

name                           parsed_size           gzip_size
copy-site-flow                     -1354 B  (-0.2%)     -586 B  (-0.3%)
plugin-bundle-flow                 -1345 B  (-0.7%)     -605 B  (-0.9%)
transferring-hosted-site-flow      -1328 B  (-1.3%)     -490 B  (-1.4%)
newsletter-post-setup-flow         -1328 B  (-1.1%)     -491 B  (-1.2%)
link-in-bio-post-setup-flow        -1328 B  (-1.1%)     -491 B  (-1.2%)
domain-user-transfer-flow          -1328 B  (-0.6%)     -595 B  (-1.3%)
import-hosted-site-flow            -1122 B  (-0.1%)    -1211 B  (-0.5%)
update-design-flow                 -1032 B  (-0.1%)     -543 B  (-0.2%)
entrepreneur-flow                  -1006 B  (-0.8%)     -456 B  (-1.6%)
with-theme-assembler-flow           +322 B  (+0.4%)      +41 B  (+0.3%)
update-options-flow                 +322 B  (+0.6%)      +37 B  (+0.6%)
trial-wooexpress-flow               +322 B  (+0.5%)      +34 B  (+0.4%)
tailored-ecommerce-flow             +322 B  (+0.5%)      +37 B  (+0.5%)
site-setup-wg                       +322 B  (+0.3%)      +35 B  (+0.1%)
site-setup-flow                     +322 B  (+0.3%)      +35 B  (+0.1%)
site-migration-flow                 +322 B  (+0.4%)      +36 B  (+0.2%)
readymade-template-flow             +322 B  (+0.2%)      +39 B  (+0.1%)
onboarding-flow                     +322 B  (+0.4%)      +34 B  (+0.3%)
migration-signup                    +322 B  (+0.5%)      +36 B  (+0.4%)
migration-flow                      +322 B  (+0.4%)      +36 B  (+0.2%)
import-flow                         +322 B  (+0.5%)      +41 B  (+0.4%)
hosted-site-migration-flow          +322 B  (+0.4%)      +36 B  (+0.2%)
free-post-setup-flow                +322 B  (+0.6%)      +38 B  (+0.6%)
assembler-first-flow                +322 B  (+0.3%)      +36 B  (+0.2%)
ai-assembler-flow                   +322 B  (+0.4%)      +39 B  (+0.3%)
link-in-bio-tld-flow                -210 B  (-0.0%)      -66 B  (-0.0%)
write-flow                          -184 B  (-0.0%)      -62 B  (-0.0%)
plans                               -184 B  (-0.0%)      -59 B  (-0.0%)
build-flow                          -184 B  (-0.0%)      -62 B  (-0.0%)
start-writing-flow                   -93 B  (-0.4%)       -7 B  (-0.1%)
design-first-flow                    -93 B  (-0.4%)       -9 B  (-0.1%)
import                               -89 B  (-0.0%)    +2064 B  (+0.9%)

Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to.

Async-loaded Components (~992 bytes removed 📉 [gzipped])

name                                                 parsed_size            gzip_size
async-load-signup-steps-initial-intent                   -1328 B   (-1.6%)     -496 B   (-1.8%)
async-load-automattic-onboarding-src-step-container      -1328 B  (-12.0%)     -496 B  (-13.3%)

React 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.
Gzip Size: Compressed size of the JS and CSS files. This much data needs to be downloaded over network.

Generated by performance advisor bot at iscalypsofastyet.com.

@alshakero alshakero marked this pull request as ready for review December 9, 2024 21:45
@alshakero alshakero requested a review from a team December 9, 2024 21:45
@matticbot matticbot added the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Dec 9, 2024
@escapemanuele
Copy link
Contributor

I see a big number of improvements!

Can you check this? It happens under 1080px

image

@alshakero
Copy link
Member Author

Can you check this? It happens under 1080px

Fixed in b612729 (#97256)

@heavyweight
Copy link
Contributor

Truly minor difference in the way the login button is aligned but I think stepper in correct here

Stepper Start
Screenshot 2024-12-10 at 14 48 05 Screenshot 2024-12-10 at 14 48 16

@heavyweight
Copy link
Contributor

However here I think we need to fix the header

Stepper Start
Screenshot 2024-12-10 at 14 53 09 Screenshot 2024-12-10 at 14 53 17

@alshakero alshakero requested a review from a team as a code owner December 10, 2024 15:30
@alshakero
Copy link
Member Author

I cleaned up the CSS more and tested the user step, the domains step, and the plans step. On Mobile, Tablet, and Desktop.

@alshakero alshakero requested a review from a team as a code owner December 10, 2024 16:36
Copy link
Contributor

@heavyweight heavyweight left a comment

Choose a reason for hiding this comment

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

LGTM

@matticbot
Copy link
Contributor

This PR modifies the release build for the following Calypso Apps:

For info about this notification, see here: PCYsg-OT6-p2

  • notifications
  • wpcom-block-editor

To test WordPress.com changes, run install-plugin.sh $pluginSlug fix/navigation-on-stepper on your sandbox.

@alshakero alshakero merged commit 8a0fabd into trunk Dec 10, 2024
12 checks passed
@alshakero alshakero deleted the fix/navigation-on-stepper branch December 10, 2024 18:01
@github-actions github-actions bot removed the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Dec 10, 2024
@valterlorran
Copy link
Contributor

I noticed that this changed the whole stepper design. I'm not sure if that was the right call. @fditrapani can you chime on this? I started reporting this here:
p1733858844922699-slack-C0Q664T29

@fditrapani
Copy link
Contributor

Thanks for the ping @valterlorran. I have been following this work on the stepper. It does look like the spacing is different than before. I don't think it's a bad thing though. We'll just have to make some adjustments on the non-stepper screens before and after the stepper used in migrations to line everything up.

@alshakero
Copy link
Member Author

alshakero commented Dec 10, 2024

Quoting my reply on Slack

Hi everyone! I tried to meticulously copy the spacing of /start into Stepper around StepContainers and FormattedHeaders. I was very careful but please do tell me if you see any mistakes.

@arthur791004
Copy link
Contributor

This changed the navigation position on other steps under the stepper flow. Is it exptected 🤔

p-jackson added a commit that referenced this pull request Dec 16, 2024
Removed in #97256. This PR removed an unused prop related to sticky nav
buttons, however in tidying up the CSS it ended up removing styles that
were still in use.
@p-jackson
Copy link
Member

CleanShot 2024-12-16 at 20 19 26@2x

It removed some CSS which was needed to to have the goals step actions appear in the footer. My guess is it was assumed that the shouldStickyNavButtons prop was for controlling this, however in reality all the footers were sticky regardless of the prop.
I'm working on reinstating the sticky footer but with a prop that can disable it for the signup step.

p-jackson added a commit that referenced this pull request Dec 16, 2024
Addresses the issue raised in #97067 that #97256 was fixing
@p-jackson
Copy link
Member

Does this fix both issues @alshakero? #97503

zaguiini pushed a commit that referenced this pull request Dec 24, 2024
Removed in #97256. This PR removed an unused prop related to sticky nav
buttons, however in tidying up the CSS it ended up removing styles that
were still in use.
zaguiini pushed a commit that referenced this pull request Dec 24, 2024
Addresses the issue raised in #97067 that #97256 was fixing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stepper: Handle User step differencies
8 participants