-
Notifications
You must be signed in to change notification settings - Fork 295
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
Update module headers in Settings > Connected Services #5620
Comments
ACs look good; moving this to IB. 👍🏻 |
@techanvil, modules like AdSense and TwG show different setup flows based on some parameters, which will be impossible to reproduce if we show to users just the settings edit form. How is it supposed to work? Perhaps we should just redirect users to the setup page if they click on that button? |
@eugene-manuilov, thanks for raising this - it's a really good point. I had forgotten that the edit versions of the expanded sections for modules which are not yet setup are functionally limited and just include a link to the setup page rather than an embedded setup UI. In other words they tend to look like this: This is in contrast to the requirement for the Analytics page when it is setup, but GA4 is not yet connected - in this case expanding the module in edit mode is OK because the edit UI is displayed inline. So, I think you are right - we should redirect users to the corresponding setup page when they click on the "Complete setup for {module_name}" CTA. @hussain-t, I have updated the AC to specify navigating to the setup page, please could you update the IB accordingly? |
Thanks, @techanvil, but after reviewing IB for #5621 it turns out that things are more complicated than I thought at the beginning... Redirecting users to the setup page is the default behaviour for that button, but we need to allow modules to override it because for the Analytics module we need a special behaviour that will open the settings edit form and point the user to the GA4 property dropdown. That's said, we need to allow modules define a custom CTA button similarly how we do it for the |
@eugene-manuilov I'm not sure we need to allow modules to override this. I feel like we could update the setup UI to highlight the GA4 field if GA4 isn't connected yet without requiring more substantial changes here. In this case, we could use the same criteria to determine if that should be done (UA connected, and GA4 not). This could be a separate issue to implement where we further define what that should look like and the form it takes. Thoughts? Otherwise, I think your suggested approach sounds reasonable, I'm just not sure it's necessary. |
@aaemnnosttv I think in this case it's necessary if we want to keep our settings API consistent. We had an edge case for AdSense and we added the ability to define the |
@eugene-manuilov I think there is some confusion about what the intended outcome is due to some of the changes that have happened in the definition here. This issue was originally about adding the button to open the module settings in edit mode but we have since refined that to point to the module setup as a more appropriate destination. The ACs for #5621 however still reference opening the module settings in edit mode, which I think should be updated to reference the setup screen instead. IMO this is still relevant here and solves the problem of "enabling" GA4 on the settings edit screen as GA4 is always required as part of Analytics setup now and we're essentially completing the setup for GA4. The only addition we'd need is the added tooltip highlighting the GA4 property field which could be done conditionally in the existing setup component as long as UA is already connected. Defining a new component to customize the [finish setup CTA] this issue adds would still require some special case for GA4 somewhere because the |
@aaemnnosttv ok, i am fine with this if we update ACs for #5621. Do we need to update design mocks in Figma as well? Darren will compare the behaviour in the plugin with what we have in Figma and will raise an error. Will move this ticket back into IB and assign to Hussain. |
Yes, good call. Let's first confirm this change with UX, and then we can have the design updated to reflect this. The added callout may not even be necessary if setting up GA4 is a requirement for completing setup as it should be. |
Thanks, @eugene-manuilov, @aaemnnosttv, and @techanvil. I have updated the IB accordingly. I have increased the estimate by considering adding tests. I have added a point for calling the |
@hussain-t, I think we can do the same without introducing a new property in the
I think if we implement these changes, we will get a button in the
|
…-headers Updated connected module settings headers
@mohitwp Just left a message with you on Slack but I am unsure what this has to do with GA4 notification banner? I can't see any reference to it in the QAB. This ticket is to check the incomplete set up of the modules. |
QA Update
|
QA Update ✅Verified
|
Approval
|
@felixarntz I noticed it post merge (should've noticed earlier, my bad, apologies) and included a fix for it in #5803 (#5621). I can create a new PR addressing only this in the meantime if preferred. |
@felixarntz Understood. Added a new PR targeting |
…open Do not open accordion on action click
QA Update: ✅
settings.mp4 |
Feature Description
For unconnected modules on the Settings > Connected Services tab, display a CTA button in place of the existing “{module_name} is not connected” text. The button text should read “Complete setup for {module_name}”. Clicking on the button should redirect to the Setup page for the module.
Additionally, for a connected modules the text should be changed from the existing “{module_name} is connected” to simply “Connected”.
Acceptance criteria
Implementation Brief
In
assets/sass/components/settings/_googlesitekit-settings-module.scss
, add styles for the.googlesitekit-settings-module__header .mdc-button
selector to match the Figma design.In
assets/js/components/settings/SettingsActiveModule/Header.js
, modify the following:Link
component should be replaced with adiv
element.tabIndex
andonKeyDown
properties need to be added.to
prop and update theonHeaderClick
callback with the following:useHistroy
hook, update the URL with the value ofto
prop when the module isconnected
.trackEvent
only if the module isconnected
.onClick
prop of theButton
component.getModuleStoreName
selector of theCORE_MODULES
store.getAdminReauthURL
selector of the respective module store name.<p>
tag only if the module isconnected
.Button
component only if the module is not! connected
with the translated string “Complete setup for {module_name}”.adminReauthURL
to thehref
prop of theButton
component.span
tag (icon) as a sibling of theButton
component.In
assets/sass/components/settings/_googlesitekit-settings-module.scss
, modify the icon classgooglesitekit-settings-module__status--not-connected
to match the Figma designs.Test Coverage
assets/js/components/settings/SettingsActiveModule/index.test.js
, add test coverage for the above scenario.QA Brief
Site Kit -> Settings -> Connect More Services
.Site Kit -> Settings -> Connected Services
.Connected
string instead of{module} is connected
.Complete setup for {module}
with a slightly changed icon according to Figma, clicking on which should take you to the module setup flow.Changelog entry
The text was updated successfully, but these errors were encountered: