-
Notifications
You must be signed in to change notification settings - Fork 805
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Jetpack Social| Fix scheduled posts UI (#34182)
* 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 <[email protected]> Co-authored-by: Paul Bunkham <[email protected]> * 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 <[email protected]> Co-authored-by: Paul Bunkham <[email protected]>
- Loading branch information
1 parent
43e3ea7
commit 5858f1e
Showing
47 changed files
with
1,260 additions
and
235 deletions.
There are no files selected for viewing
4 changes: 4 additions & 0 deletions
4
projects/js-packages/components/changelog/update-enhance-record-meter-bar
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: patch | ||
Type: added | ||
|
||
Added `className` prop to RecordMeterBar component |
5 changes: 5 additions & 0 deletions
5
projects/js-packages/components/changelog/update-share-limits-bar-design
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Significance: patch | ||
Type: changed | ||
Comment: Changes reverted | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
projects/js-packages/publicize-components/changelog/add-tests-for-sharing-data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: patch | ||
Type: added | ||
|
||
|
4 changes: 4 additions & 0 deletions
4
...ts/js-packages/publicize-components/changelog/fix-jetpack-social-sheduled-posts-messaging
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: patch | ||
Type: fixed | ||
|
||
Fixed Jetpack Social scheduled post messaging |
4 changes: 4 additions & 0 deletions
4
projects/js-packages/publicize-components/changelog/fix-scheduled-post-double-count
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: patch | ||
Type: fixed | ||
|
||
Fixed the scheduled post double count for share limits |
4 changes: 4 additions & 0 deletions
4
projects/js-packages/publicize-components/changelog/update-share-limits-bar-design
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: minor | ||
Type: changed | ||
|
||
Updated the share limit bar design |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
projects/js-packages/publicize-components/src/components/form/enabled-connections-notice.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { PanelRow } from '@wordpress/components'; | ||
import { _n, sprintf } from '@wordpress/i18n'; | ||
import usePublicizeConfig from '../../hooks/use-publicize-config'; | ||
import useSocialMediaConnections from '../../hooks/use-social-media-connections'; | ||
import styles from './styles.module.scss'; | ||
|
||
/** | ||
* Displays enabled connections text. | ||
* | ||
* @returns {import('react').ReactElement} Enabled connections text. | ||
*/ | ||
export function EnabledConnectionsNotice() { | ||
const { enabledConnections } = useSocialMediaConnections(); | ||
const { isPublicizeEnabled } = usePublicizeConfig(); | ||
|
||
return enabledConnections.length && isPublicizeEnabled ? ( | ||
<PanelRow> | ||
<p className={ styles[ 'enabled-connections-notice' ] }> | ||
{ sprintf( | ||
/* translators: %d: number of connections */ | ||
_n( | ||
'This post will be shared to %d connection.', | ||
'This post will be shared to %d connections.', | ||
enabledConnections.length, | ||
'jetpack' | ||
), | ||
enabledConnections.length | ||
) } | ||
</p> | ||
</PanelRow> | ||
) : null; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
projects/js-packages/publicize-components/src/components/form/share-count-info.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
import { Text, ThemeProvider } from '@automattic/jetpack-components'; | ||
import { getRedirectUrl } from '@automattic/jetpack-components'; | ||
import { getSiteFragment } from '@automattic/jetpack-shared-extension-utils'; | ||
import { Button, PanelRow } from '@wordpress/components'; | ||
import { useSelect } from '@wordpress/data'; | ||
import { __, _x } from '@wordpress/i18n'; | ||
import { useShareLimits } from '../../hooks/use-share-limits'; | ||
import { store as socialStore } from '../../social-store'; | ||
import { ShareLimitsBar } from '../share-limits-bar'; | ||
import { ShareCountNotice } from './share-count-notice'; | ||
import styles from './styles.module.scss'; | ||
import { useAutoSaveAndRedirect } from './use-auto-save-and-redirect'; | ||
|
||
export const ShareCountInfo: React.FC = () => { | ||
const showShareLimits = useSelect( select => select( socialStore ).showShareLimits(), [] ); | ||
const { noticeType, usedCount, scheduledCount, remainingCount } = useShareLimits(); | ||
const autosaveAndRedirect = useAutoSaveAndRedirect(); | ||
|
||
if ( ! showShareLimits ) { | ||
return null; | ||
} | ||
|
||
return ( | ||
<PanelRow> | ||
<div className={ styles[ 'share-count-info' ] }> | ||
<ThemeProvider> | ||
<Text variant="body-extra-small" className={ styles[ 'auto-share-title' ] }> | ||
{ __( 'Auto-share usage', 'jetpack' ) } | ||
</Text> | ||
<ShareCountNotice /> | ||
<ShareLimitsBar | ||
usedCount={ usedCount } | ||
scheduledCount={ scheduledCount } | ||
remainingCount={ remainingCount } | ||
className={ styles[ 'bar-wrapper' ] } | ||
noticeType={ noticeType } | ||
/> | ||
{ noticeType === 'default' ? ( | ||
<Button | ||
key="upgrade" | ||
variant="link" | ||
onClick={ autosaveAndRedirect } | ||
href={ getRedirectUrl( 'jetpack-social-basic-plan-block-editor', { | ||
site: getSiteFragment(), | ||
query: 'redirect_to=' + encodeURIComponent( window.location.href ), | ||
} ) } | ||
> | ||
{ _x( 'Upgrade to share more.', 'Call to action to buy a new plan', 'jetpack' ) } | ||
</Button> | ||
) : null } | ||
</ThemeProvider> | ||
</div> | ||
</PanelRow> | ||
); | ||
}; |
Oops, something went wrong.