-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Implement final screen UI #18305
Conversation
📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
|
📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
|
@@ -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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 😄
There was a problem hiding this 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 requireNotNull
s, but it is non-blocking.
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. |
Merging this as discussed 🙇🏻 |
Resolves #17906
This PR:
To Test
Prerequisite
◐ Toggle the
SiteCreationDomainPurchasingFeatureConfig
flagMe
→App Settings
→Debug settings
Features in development
sectionRESTART THE APP
button● Treatment Variation
○ Control Variation
Previews
Portrait - Light
Portrait - Dark
Regression Notes
Potential unintended areas of impact
Site Creation
→Large Titles
because of small refactoringWhat I did to test those areas of impact (or what existing automated tests I relied on)
Manual testing and unit testing
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:
RELEASE-NOTES.txt
if necessary.UI Changes testing checklist: