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

Add "temporarily hidden" badge to hidden audiences in the Selection Panel #9315

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

ankitrox
Copy link
Collaborator

@ankitrox ankitrox commented Sep 9, 2024

Summary

Addresses issue:

Relevant technical choices

PR Author Checklist

  • My code is tested and passes existing unit tests.
  • My code has an appropriate set of unit tests which all pass.
  • My code is backward-compatible with WordPress 5.2 and PHP 7.4.
  • My code follows the WordPress coding standards.
  • My code has proper inline documentation.
  • I have added a QA Brief on the issue linked above.
  • I have signed the Contributor License Agreement (see https://cla.developers.google.com/).

Do not alter or remove anything below. The following sections will be managed by moderators only.

Code Reviewer Checklist

  • Run the code.
  • Ensure the acceptance criteria are satisfied.
  • Reassess the implementation with the IB.
  • Ensure no unrelated changes are included.
  • Ensure CI checks pass.
  • Check Storybook where applicable.
  • Ensure there is a QA Brief.

Merge Reviewer Checklist

  • Ensure the PR has the correct target branch.
  • Double-check that the PR is okay to be merged.
  • Ensure the corresponding issue has a ZenHub release assigned.
  • Add a changelog message to the issue.

Copy link

github-actions bot commented Sep 9, 2024

Build files for 6663532 are ready:

Copy link

github-actions bot commented Sep 9, 2024

Size Change: +47.4 kB (+2.62%)

Total Size: 1.86 MB

Filename Size Change
./dist/assets/css/googlesitekit-admin-css-********************.min.css 57.6 kB +3 B (+0.01%)
./dist/assets/js/35-********************.js 892 B -1 B (-0.11%)
./dist/assets/js/googlesitekit-activation-********************.js 23.9 kB +17 B (+0.07%)
./dist/assets/js/googlesitekit-ad-blocking-recovery-********************.js 72.5 kB +69 B (+0.1%)
./dist/assets/js/googlesitekit-adminbar-********************.js 34.6 kB +25 B (+0.07%)
./dist/assets/js/googlesitekit-api-********************.js 9.97 kB -2 B (-0.02%)
./dist/assets/js/googlesitekit-components-gm3-********************.js 10.1 kB +2 B (+0.02%)
./dist/assets/js/googlesitekit-data-********************.js 2.37 kB +1 B (+0.04%)
./dist/assets/js/googlesitekit-datastore-forms-********************.js 8.95 kB -2 B (-0.02%)
./dist/assets/js/googlesitekit-datastore-location-********************.js 2.08 kB +1 B (+0.05%)
./dist/assets/js/googlesitekit-datastore-site-********************.js 20.4 kB +15 B (+0.07%)
./dist/assets/js/googlesitekit-datastore-ui-********************.js 9.92 kB +5 B (+0.05%)
./dist/assets/js/googlesitekit-datastore-user-********************.js 26.2 kB +9 B (+0.03%)
./dist/assets/js/googlesitekit-entity-dashboard-********************.js 83.4 kB -20 B (-0.02%)
./dist/assets/js/googlesitekit-main-dashboard-********************.js 157 kB +480 B (+0.31%)
./dist/assets/js/googlesitekit-modules-********************.js 22.1 kB -1 B (0%)
./dist/assets/js/googlesitekit-modules-ads-********************.js 32.7 kB +65 B (+0.2%)
./dist/assets/js/googlesitekit-modules-adsense-********************.js 125 kB +119 B (+0.1%)
./dist/assets/js/googlesitekit-modules-analytics-4-********************.js 171 kB +53 B (+0.03%)
./dist/assets/js/googlesitekit-modules-pagespeed-insights-********************.js 22.5 kB -1 B (0%)
./dist/assets/js/googlesitekit-modules-reader-revenue-manager-********************.js 21.9 kB +14 B (+0.06%)
./dist/assets/js/googlesitekit-modules-search-console-********************.js 58.8 kB -34 B (-0.06%)
./dist/assets/js/googlesitekit-modules-tagmanager-********************.js 32 kB -11 B (-0.03%)
./dist/assets/js/googlesitekit-notifications-********************.js 18.6 kB -9 B (-0.05%)
./dist/assets/js/googlesitekit-polyfills-********************.js 377 B -1 B (-0.26%)
./dist/assets/js/googlesitekit-settings-********************.js 128 kB +45.4 kB (+54.84%) 🆘
./dist/assets/js/googlesitekit-splash-********************.js 90.8 kB +334 B (+0.37%)
./dist/assets/js/googlesitekit-user-input-********************.js 64.3 kB +78 B (+0.12%)
./dist/assets/js/googlesitekit-vendor-********************.js 321 kB -49 B (-0.02%)
./dist/assets/js/googlesitekit-widgets-********************.js 88.3 kB +678 B (+0.77%)
./dist/assets/js/googlesitekit-wp-dashboard-********************.js 62 kB +156 B (+0.25%)
./dist/assets/js/runtime-********************.js 1.3 kB -6 B (-0.46%)
ℹ️ View Unchanged
Filename Size
./dist/assets/css/googlesitekit-adminbar-css-********************.min.css 11.8 kB
./dist/assets/css/googlesitekit-authorize-application-css-********************.min.css 846 B
./dist/assets/css/googlesitekit-wp-dashboard-css-********************.min.css 8.2 kB
./dist/assets/js/31-********************.js 2.76 kB
./dist/assets/js/32-********************.js 2.25 kB
./dist/assets/js/33-********************.js 3.64 kB
./dist/assets/js/34-********************.js 935 B
./dist/assets/js/36-********************.js 3.12 kB
./dist/assets/js/analytics-advanced-tracking-********************.js 901 B
./dist/assets/js/googlesitekit-components-gm2-********************.js 5.97 kB
./dist/assets/js/googlesitekit-consent-mode-********************.js 25.6 kB
./dist/assets/js/googlesitekit-events-provider-contact-form-7-********************.js 646 B
./dist/assets/js/googlesitekit-events-provider-easy-digital-downloads-********************.js 624 B
./dist/assets/js/googlesitekit-events-provider-mailchimp-********************.js 630 B
./dist/assets/js/googlesitekit-events-provider-ninja-forms-********************.js 712 B
./dist/assets/js/googlesitekit-events-provider-optin-monster-********************.js 675 B
./dist/assets/js/googlesitekit-events-provider-popup-maker-********************.js 634 B
./dist/assets/js/googlesitekit-events-provider-woocommerce-********************.js 657 B
./dist/assets/js/googlesitekit-events-provider-wpforms-********************.js 633 B
./dist/assets/js/googlesitekit-i18n-********************.js 3.93 kB

compressed-size-action

Copy link
Collaborator

@benbowler benbowler left a comment

Choose a reason for hiding this comment

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

Hey @ankitrox, this looks good and works well. I've added a couple of small details around the stories to commit if you agree.

tooltipTitle:
'Still collecting full data for this timeframe, partial data is displayed for this group',
};
Default.scenario = {
label: 'Modules/Analytics4/Components/AudienceSegmentation/Dashboard/PartialDataBadge/Default',
label: 'Modules/Analytics4/Components/BadgeWithTooltip/Default',
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
label: 'Modules/Analytics4/Components/BadgeWithTooltip/Default',
label: 'Components/BadgeWithTooltip/Default',

};

export default {
title: 'Modules/Analytics4/Components/AudienceSegmentation/Dashboard/PartialDataBadge',
title: 'Modules/Analytics4/Components/BadgeWithTooltip',
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
title: 'Modules/Analytics4/Components/BadgeWithTooltip',
title: 'Components/BadgeWithTooltip',

Now that you've made this a nice reusable component, it doesn't need to be used just in Analytics so you can move it to the main components section of the stories.

}

export const Default = Template.bind( {} );
Default.storyName = 'Default';

Default.args = {
label: 'Title for badge with tooltip',
tooltipTitle:
'Still collecting full data for this timeframe, partial data is displayed for this group',
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
'Still collecting full data for this timeframe, partial data is displayed for this group',
'This is an example of tooltip content for a badge with tooltip',

This is a small detail.

@ankitrox
Copy link
Collaborator Author

@benbowler Thanks for review and adding the feedback.

As Evan pointed out in a recent review, we don't actually need to specify the label for scenarios, as it is by default determined from the default title and the story's storyName, so I have skipped that point.

Rest of the points addressed, tested and pushed the changes in PR.

Copy link
Collaborator

@benbowler benbowler left a comment

Choose a reason for hiding this comment

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

Thanks @ankitrox, LGTM ✅

Copy link
Collaborator

@nfmohit nfmohit left a comment

Choose a reason for hiding this comment

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

Excellent work on this, thank you @ankitrox !

  1. I've left a few comments in the PR.
  2. According to the IB, we should add some test coverage for the appearance of the "Temporarily hidden" badge.
    1. Can we add one test case that verifies that the "Temporarily hidden" badge appears when conditions are met?
    2. Can we add one test case that verifies that the "New" badge does not appear when the "Temporarily hidden" badge is visible?

Please let me know if you have any questions, thank you!

className="googlesitekit-audience-segmentation-temporary-hidden-badge"
label={ __( 'Temporarily hidden', 'google-site-kit' ) }
tooltipTitle={ __(
'Site Kit is collecting data for this group. once data is available the this group will be added to your dashboard.',
Copy link
Collaborator

Choose a reason for hiding this comment

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

While this text does match the AC, it feels grammatically incorrect. I've raised it in the issue here. Let's see what Tom thinks.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks @nfmohit, good spot. I've replied on the issue and amended the AC/IB.

if ( temporarilyHidden ) {
return (
<BadgeWithTooltip
className="googlesitekit-audience-segmentation-temporary-hidden-badge"
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think this class name is defined in any stylesheet. If unnecessary, we should remove it.

Suggested change
className="googlesitekit-audience-segmentation-temporary-hidden-badge"

Copy link
Collaborator

Choose a reason for hiding this comment

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

While we're at it, we should also update the file header comment for this component.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Since the BadgeWithTooltip component is located in assets/js/components, this stylesheet should also be moved accordingly to assets/sass/components/global.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The import should be moved according to the last comment to assets/sass/admin.scss.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This VRT reference appears to be a duplicate of the one located in tests/backstop/reference/google-site-kit_Components_BadgeWithTooltip_Default_0_document_0_small.png.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This VRT reference appears to be a duplicate of the one located in tests/backstop/reference/google-site-kit_Components_BadgeWithTooltip_Default_0_document_1_medium.png.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This VRT reference appears to be a duplicate of the one located in tests/backstop/reference/google-site-kit_Components_BadgeWithTooltip_Default_0_document_2_large.png.

Copy link
Collaborator

@nfmohit nfmohit left a comment

Choose a reason for hiding this comment

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

Sorry, forgot to include this one in the original review above.

Copy link
Collaborator

Choose a reason for hiding this comment

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

One additional note about this stylesheet: Since this component now uses the googlesitekit-badge class, I believe we may be able to remove some styles that are already applied by the googlesitekit-badge class.

Copy link
Collaborator

@nfmohit nfmohit left a comment

Choose a reason for hiding this comment

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

Hi @ankitrox . Thank you for updating the tooltip text. Maybe it didn't catch your attention but that wasn't the only feedback in my code review. Could you please take a look at my comments above and address them?

Moreover, I feel there is an additional update required to the tooltip text. I've asked Tom here.

I understand that we're under a time constraint here but I believe the changes requested are quite minimal. I'd have gone and applied them myself but since we're waiting for an AC change confirmation, I'm sending this back to Execution. CC: @techanvil @ivonac4

@techanvil
Copy link
Collaborator

Moreover, I feel there is an additional update required to the tooltip text. I've asked Tom here.

I understand that we're under a time constraint here but I believe the changes requested are quite minimal. I'd have gone and applied them myself but since we're waiting for an AC change confirmation, I'm sending this back to Execution. CC: @techanvil @ivonac4

Thanks for spotting that the text still needed an update! I've applied that change myself but see there are other comments for @ankitrox still to address, so I've left this in execution.

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.

4 participants