Update share limits bar design#34392
Update share limits bar design#34392manzoorwanijk merged 39 commits intofeature/jetpack-social-scheduled-posts-uifrom
Conversation
|
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. Once your PR is ready for review, check one last time that all required checks appearing at the bottom of this PR are passing or skipped. Social plugin:
If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack. |
|
Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.
Interested in more tips and information?
|
projects/js-packages/publicize-components/src/components/share-limits-bar/index.tsx
Outdated
Show resolved
Hide resolved
pablinos
left a comment
There was a problem hiding this comment.
There's still a fair amount to do here:
- Take into account all the other logic around whether a connection is enabled/disabled. If a connection is broken, invalid (like with media requirements for Instagram), etc. Then we will still count it as 'enabled' for the share counts. The logic for this probably needs to move into the useSocialMediaConnections hook so we can set the
disabledproperty on each connection correctly. This might well be broken on trunk too, so we could also do it as a follow-up - We need to fix the logic around a post date being set inside or outside of the 30 day window we look at for scheduled shares. I've added some comments on what we could do.
- Add the line "This post will be shared to x connection(s)". I was thinking instead of saying "This post won't be shared to any connections" when there aren't any enabled, we could say something like "Enable a connection to share this post".
- Fix the styling of the bar in the Social admin page
- Fix the tests!
projects/js-packages/publicize-components/src/social-store/resolvers.js
Outdated
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/social-store/selectors/shares-data.ts
Outdated
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/social-store/selectors/shares-data.ts
Outdated
Show resolved
Hide resolved
projects/js-packages/components/components/record-meter-bar/index.tsx
Outdated
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/components/form/share-count-notice.tsx
Outdated
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/components/share-limits-bar/index.tsx
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/hooks/use-scheduled-post/index.js
Outdated
Show resolved
Hide resolved
projects/js-packages/publicize-components/src/hooks/use-share-limits/index.ts
Outdated
Show resolved
Hide resolved
|
We also need to update the notice styling so the upgrade link is a button, ande we adde the Learn more link. I think we should always have an upgrade link whether there is a warning or not. |
For a limit of 30 shares, 80% sounds like a good choice because they will have only 6 shares left. If we make it 90%, they will have only 3 shares left. |
projects/js-packages/publicize-components/src/components/form/styles.module.scss
Show resolved
Hide resolved
I have removed the padding on the admin page. |
gmjuhasz
left a comment
There was a problem hiding this comment.
Let's merge it into the main branch and give it a final test
Thanks! Should we have something like "Enable a connection to share this post when it is published" or something along those lines, when there are none selected? That might be repeating what gets displayed in the text above the connections though. |
Yeah I was thinking that it turns red at 100% currently. Maybe as it's not reactive now that would be better to happen at 90%? |
As mentioned in Slack, I think having it as a warning always will make people blind to it. I think we should only 'warn' them when there is something to warn them about. I was worried about jank with the notice moving from below to above the connections, but now it's not reactive, that shouldn't be a problem. |
It is visible for the posts that are already published. So, "...when it is published" won't make sense. |
Sure, but in the designs, the bar at least is #F6F7F7 which is much lighter |
That will further complicate the logic. May be we can do that in a follow up PR. |
|
…f notice" This reverts commit b0b1909.
* Make share data selectors independent of the connections * Enhance RecordMeterBar component * Enhance ShareLimitsBar component * Pass connections data to useShareLimits * Update editor form components * Update social admin page header * Add support for providing text variant * Add enabledConnections to used/scheduled number * Fix enabledConnections being NaN * Update the notice and meter to match the new designs/logic. * Update the admin page header component * Fix tests * Revert changes to RecordBarMeter * Revert an unnecessary change to RecordMeterBar * Add changelog * Create update-share-limits-bar-design * Fix "msgid argument is not a string literal" build error 100th time in Jetpack * Fix "Optimization seems to have broken the following translation strings" - "left" * Revert "Fix "Optimization seems to have broken the following translation strings" - "left"" This reverts commit d1d7cda. * Use "remaining" instead of "left" for the sake of passing the build * Fix "Optimization seems to have broken the following translation strings - "left"" build error * Simplify share limits bar logic * Clean up unused logic * Restore outOfConnections logic * Fix unit tests * Clean up types.ts * Update notice CTA design * Use "or" instead of "and" * Fix the bar title and caption * Fix "Optimization seems to have broken the following translation strings" * Fix typo * Make it a minor change instead of a patch * Add enabled connections text * Remove padding for the bar on Social admin page * Fix up versions * When under the limits, show an inline upgrade nudge instead of notice * Revert "When under the limits, show an inline upgrade nudge instead of notice" This reverts commit b0b1909. * Fix the order of the title and notice * Clean things up a bit --------- Co-authored-by: Gergely Juhasz <gergely.juhasz@automattic.com> Co-authored-by: Paul Bunkham <paul@dobit.co.uk>
* Enhance RecordBarMeter component with `className` * Add changelog * Jetpack Social | Warn the user that their scheduled posts won't get shared if they will get over limits. (#34183) * Enhance RecordBarMeter component with `className` * Add changelog * Add store types * Update store selectors and actions * Update consumer hook to use new selectors * Create useShareLimits hook * Move `ShareCounter` to publicize-components and name it `ShareLimitsBar` * Create separate notice components * Fix the post editor notices * Update Jetpack Social admin page to use the new meter bar * Remove unused code left after #34111 * Add changelog * Fix share count * Update index.js * Include active connections count for notices * Fix i18n build error * Enhance RecordBarMeter component with `className` * Add changelog * Extract constants and improve types * Extract messages to utility function * Enhance RecordBarMeter component with `className` * Add changelog * Fix up versions * Revert "Remove unused code left after #34111" This reverts commit ca45999. * Use @wordpress/element instead of react * Fix messaging * Let TS infer type * Combine the share limits logic into a single useSelect call * Fix the limits shown even after a paid plan * Use boolean instead of number * Add unit tests for sharing data store (#34206) * Enhance RecordBarMeter component with `className` * Add changelog * Add store types * Update store selectors and actions * Update consumer hook to use new selectors * Create useShareLimits hook * Move `ShareCounter` to publicize-components and name it `ShareLimitsBar` * Create separate notice components * Fix the post editor notices * Update Jetpack Social admin page to use the new meter bar * Remove unused code left after #34111 * Add changelog * Fix share count * Update index.js * Include active connections count for notices * Fix i18n build error * Enhance RecordBarMeter component with `className` * Add changelog * Extract constants and improve types * Add types/jest * Add tests for sharesData selectors * Add tests for useShareLimits hook * rename to *.test.js * extract utility * Create add-tests-for-sharing-data * Update shares-data.test.js * Extract messages to utility function * Use the messages from utility function * Enhance RecordBarMeter component with `className` * Add changelog * Fix up versions * Revert "Remove unused code left after #34111" This reverts commit ca45999. * Use @wordpress/element instead of react * Fix messaging * Let TS infer type * Combine the share limits logic into a single useSelect call * Fix the limits shown even after a paid plan * Enhance RecordBarMeter component with `className` * Add changelog * Enhance RecordBarMeter component with `className` * Add changelog * Jetpack Social | Warn the user that their scheduled posts won't get shared if they will get over limits. (#34183) * Enhance RecordBarMeter component with `className` * Add changelog * Add store types * Update store selectors and actions * Update consumer hook to use new selectors * Create useShareLimits hook * Move `ShareCounter` to publicize-components and name it `ShareLimitsBar` * Create separate notice components * Fix the post editor notices * Update Jetpack Social admin page to use the new meter bar * Remove unused code left after #34111 * Add changelog * Fix share count * Update index.js * Include active connections count for notices * Fix i18n build error * Enhance RecordBarMeter component with `className` * Add changelog * Extract constants and improve types * Extract messages to utility function * Enhance RecordBarMeter component with `className` * Add changelog * Fix up versions * Revert "Remove unused code left after #34111" This reverts commit ca45999. * Use @wordpress/element instead of react * Fix messaging * Let TS infer type * Combine the share limits logic into a single useSelect call * Fix the limits shown even after a paid plan * Update tests * Fix up versions * Jetpack Social| Fix scheduled post double count (#34323) * Update store selectors and resolvers to save initial connections * Update useShareLimits hook to subtract scheduled post if editing one * Update ShareCountInfo to subtract the scheduled post from count * Add changelog * Fix versions * changelog!!!! * Update share limits bar design (#34392) * Make share data selectors independent of the connections * Enhance RecordMeterBar component * Enhance ShareLimitsBar component * Pass connections data to useShareLimits * Update editor form components * Update social admin page header * Add support for providing text variant * Add enabledConnections to used/scheduled number * Fix enabledConnections being NaN * Update the notice and meter to match the new designs/logic. * Update the admin page header component * Fix tests * Revert changes to RecordBarMeter * Revert an unnecessary change to RecordMeterBar * Add changelog * Create update-share-limits-bar-design * Fix "msgid argument is not a string literal" build error 100th time in Jetpack * Fix "Optimization seems to have broken the following translation strings" - "left" * Revert "Fix "Optimization seems to have broken the following translation strings" - "left"" This reverts commit d1d7cda. * Use "remaining" instead of "left" for the sake of passing the build * Fix "Optimization seems to have broken the following translation strings - "left"" build error * Simplify share limits bar logic * Clean up unused logic * Restore outOfConnections logic * Fix unit tests * Clean up types.ts * Update notice CTA design * Use "or" instead of "and" * Fix the bar title and caption * Fix "Optimization seems to have broken the following translation strings" * Fix typo * Make it a minor change instead of a patch * Add enabled connections text * Remove padding for the bar on Social admin page * Fix up versions * When under the limits, show an inline upgrade nudge instead of notice * Revert "When under the limits, show an inline upgrade nudge instead of notice" This reverts commit b0b1909. * Fix the order of the title and notice * Clean things up a bit --------- Co-authored-by: Gergely Juhasz <gergely.juhasz@automattic.com> Co-authored-by: Paul Bunkham <paul@dobit.co.uk> * Fix up versions and lockfile * Fix the bar width * Fix TS build * Restore dependencies messed up while resolving conflicts. * Restore the record meter bar styles * Make the bar go red after 90% usage * Use "connection" instead of "network" * Hide connections text when publicize is OFF * Fix up versions --------- Co-authored-by: Gergely Juhasz <gergely.juhasz@automattic.com> Co-authored-by: Paul Bunkham <paul@dobit.co.uk>






Proposed changes:
Other information:
Jetpack product discussion
Does this pull request change what data or activity we track or use?
Testing instructions:
Different scenarios
Used: 20, Scheduled: 0
Used: 25, Scheduled: 0
Used: 25, Scheduled: 3
Used: 25, Scheduled: 5
Used: 25, Scheduled: 10
Used: 30, Scheduled: 0
Jetpack Social admin page