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

Implement final screen UI #18305

Merged
merged 9 commits into from
Apr 25, 2023
Merged

Implement final screen UI #18305

merged 9 commits into from
Apr 25, 2023

Conversation

ovitrif
Copy link
Contributor

@ovitrif ovitrif commented Apr 21, 2023

Resolves #17906

This PR:

  • ★ Updates the final screen UI
  • ⊕ Adds require additional info for paid domains
  • ⊜ Fixes the url that is displayed to match the iOS implementation, showing the custom domain when following a purchase

To Test

Prerequisite

◐ Toggle the SiteCreationDomainPurchasingFeatureConfig flag
  1. Go to MeApp SettingsDebug settings
  2. Scroll to the Features in development section
  3. Tap on the item corresponding to the flag
  4. Tap RESTART THE APP button

● Treatment Variation

  • Verify All updates from the task are implemented. Expect:
    • Title typeface updated
    • Landscape view adapted accordingly
    • Preview card has rounded corners and proper paddings
    • Paid domains have additional info on the receipt and delay until the custom domain is guaranteed to work
    • Preview card shows custom domain at the top

○ Control Variation

  • Verify No regression. The UI tweaks are fine, they don't have to be hidden behind the feature flag.

Previews

Portrait - Light

Landscape - Light

Portrait - Dark

Landscape - Dark

Regression Notes

  1. Potential unintended areas of impact

    • Site CreationLarge Titles because of small refactoring
    • Landscape view - had to decrease title font size
  2. What I did to test those areas of impact (or what existing automated tests I relied on)
    Manual testing and unit testing

  3. What automated tests I added (or what prevented me from doing so)
    We don't have automated tests for small UI changes and they're inefficient. We could have snapshot testing though but that's a big step not in scope of this task.

PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

UI Changes testing checklist:

  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • Talkback.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • Large and small screen sizes. (Tablet and smaller phones)
  • Multi-tasking: Split screen and Pop-up view. (Android 10 or higher)

@ovitrif ovitrif self-assigned this Apr 21, 2023
@ovitrif ovitrif added this to the 22.3 milestone Apr 21, 2023
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 21, 2023

WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr18305-c434d59
Commitc434d59
Direct Downloadwordpress-prototype-build-pr18305-c434d59.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 21, 2023

Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr18305-c434d59
Commitc434d59
Direct Downloadjetpack-prototype-build-pr18305-c434d59.apk
Note: Google Login is not supported on these builds.

@ovitrif ovitrif requested a review from mkevins April 24, 2023 03:20
@ovitrif ovitrif marked this pull request as ready for review April 24, 2023 03:51
@ovitrif ovitrif requested a review from antonis April 24, 2023 03:54
@@ -77,7 +83,8 @@ class SitePreviewViewModel @Inject constructor(
require(siteCreationState.result is Created)
siteDesign = siteCreationState.siteDesign
result = siteCreationState.result
urlWithoutScheme = result.site.url
isFree = requireNotNull(siteCreationState.domain).isFree
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess based on the require here that this isn't ever expected to be null here?

Copy link
Contributor Author

@ovitrif ovitrif Apr 25, 2023

Choose a reason for hiding this comment

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

That's true, the only reason it's nullable is because of how we modelled the SiteCreationState 😄 . Ideally we'd have found a better, immutable way to do it instead of simply storing the value in a nullable field when advancing to the next step of the flow, imho 😄
But in real world scenarios it should be impossible to get to this screen with the domain null. If we can get here, it's better to crash 😄

Copy link
Contributor

@mkevins mkevins left a comment

Choose a reason for hiding this comment

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

Code looks good, and this implementation works great in my testing. Nice work Ovi! I had one question about the requireNotNulls, but it is non-blocking.

@mkevins
Copy link
Contributor

mkevins commented Apr 25, 2023

I should also note, I did observe some changes in the feature-disabled state, but assume it's ok based on your note in the description.

The font was a serif font, left-aligned, and also the preview has rounded borders. Looks good to me 👍

@ovitrif
Copy link
Contributor Author

ovitrif commented Apr 25, 2023

I should also note, I did observe some changes in the feature-disabled state, but assume it's ok based on your note in the description.

The font was a serif font, left-aligned, and also the preview has rounded borders. Looks good to me 👍

I'd say that it's ok, but I'm open to suggestions / feedback 👍🏻 .

Imho this screen was "left behind" in terms of title typography, all other steps in the flow have the new typeface except this. Perhaps we could align the "progress" screen as well in this regard 🤷🏻 , it's also still left with sans-serif titles.

@ovitrif
Copy link
Contributor Author

ovitrif commented Apr 25, 2023

Merging this as discussed 🙇🏻
Thank you @mkevins for the review and sharing your thoughts 🙏🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update final screen UI
3 participants