diff --git a/projects/js-packages/publicize-components/changelog/update-enhances-publishing-feature-check b/projects/js-packages/publicize-components/changelog/update-enhances-publishing-feature-check new file mode 100644 index 0000000000000..e1af3f96c5a7e --- /dev/null +++ b/projects/js-packages/publicize-components/changelog/update-enhances-publishing-feature-check @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Initial state: Migrated isEnhancedPublishingEnabled to feature check diff --git a/projects/js-packages/publicize-components/src/components/form/instagram-no-media-notice.tsx b/projects/js-packages/publicize-components/src/components/form/instagram-no-media-notice.tsx index 2adeb6ceb74b8..87363f4f46077 100644 --- a/projects/js-packages/publicize-components/src/components/form/instagram-no-media-notice.tsx +++ b/projects/js-packages/publicize-components/src/components/form/instagram-no-media-notice.tsx @@ -1,13 +1,12 @@ import { getRedirectUrl } from '@automattic/jetpack-components'; +import { siteHasFeature } from '@automattic/jetpack-script-data'; import { ExternalLink } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; -import { usePublicizeConfig } from '../../..'; +import { features } from '../../utils/constants'; import Notice from '../notice'; export const InstagramNoMediaNotice: React.FC = () => { - const { isEnhancedPublishingEnabled } = usePublicizeConfig(); - - return isEnhancedPublishingEnabled ? ( + return siteHasFeature( features.ENHANCED_PUBLISHING ) ? ( { __( 'To share to Instagram, add an image/video, or enable Social Image Generator.', diff --git a/projects/js-packages/publicize-components/src/components/form/share-post-form.tsx b/projects/js-packages/publicize-components/src/components/form/share-post-form.tsx index 92794ff64f661..11ecd5e45aa23 100644 --- a/projects/js-packages/publicize-components/src/components/form/share-post-form.tsx +++ b/projects/js-packages/publicize-components/src/components/form/share-post-form.tsx @@ -1,5 +1,6 @@ -import { usePublicizeConfig } from '../../..'; +import { siteHasFeature } from '@automattic/jetpack-script-data'; import useSocialMediaMessage from '../../hooks/use-social-media-message'; +import { features } from '../../utils/constants'; import MediaSection from '../media-section'; import MessageBoxControl from '../message-box-control'; @@ -16,8 +17,6 @@ type SharePostFormProps = { export const SharePostForm: React.FC< SharePostFormProps > = ( { analyticsData = null } ) => { const { message, updateMessage, maxLength } = useSocialMediaMessage(); - const { isEnhancedPublishingEnabled } = usePublicizeConfig(); - return ( <> = ( { analyticsData = message={ message } analyticsData={ analyticsData } /> - { isEnhancedPublishingEnabled && } + { siteHasFeature( features.ENHANCED_PUBLISHING ) && ( + + ) } ); }; diff --git a/projects/js-packages/publicize-components/src/components/social-previews/instagram.js b/projects/js-packages/publicize-components/src/components/social-previews/instagram.js index 8af81b876c12e..96178d1b6b7c6 100644 --- a/projects/js-packages/publicize-components/src/components/social-previews/instagram.js +++ b/projects/js-packages/publicize-components/src/components/social-previews/instagram.js @@ -1,12 +1,13 @@ import { Notice, getRedirectUrl } from '@automattic/jetpack-components'; +import { siteHasFeature } from '@automattic/jetpack-script-data'; import { InstagramPreviews } from '@automattic/social-previews'; import { ExternalLink } from '@wordpress/components'; import { useSelect } from '@wordpress/data'; import { __, _x } from '@wordpress/i18n'; import React from 'react'; -import usePublicizeConfig from '../../hooks/use-publicize-config'; import useSocialMediaMessage from '../../hooks/use-social-media-message'; import { SOCIAL_STORE_ID, CONNECTION_SERVICE_INSTAGRAM_BUSINESS } from '../../social-store'; +import { features } from '../../utils/constants'; /** * The Instagram tab component. @@ -19,7 +20,6 @@ export function Instagram( props ) { const { username: name, profileImage } = useSelect( select => select( SOCIAL_STORE_ID ).getConnectionProfileDetails( CONNECTION_SERVICE_INSTAGRAM_BUSINESS ) ); - const { isEnhancedPublishingEnabled } = usePublicizeConfig(); const { message: text } = useSocialMediaMessage(); @@ -42,7 +42,7 @@ export function Instagram( props ) { , ] } > - { isEnhancedPublishingEnabled + { siteHasFeature( features.ENHANCED_PUBLISHING ) ? __( 'To share to Instagram, add an image/video, or enable Social Image Generator.', 'jetpack' diff --git a/projects/js-packages/publicize-components/src/hooks/use-publicize-config/index.js b/projects/js-packages/publicize-components/src/hooks/use-publicize-config/index.js index 0b093fb1100a1..bb991a44dd85e 100644 --- a/projects/js-packages/publicize-components/src/hooks/use-publicize-config/index.js +++ b/projects/js-packages/publicize-components/src/hooks/use-publicize-config/index.js @@ -86,13 +86,6 @@ export default function usePublicizeConfig() { */ const hasPaidPlan = !! getJetpackData()?.social?.hasPaidPlan; - /** - * isEnhancedPublishingEnabled: - * Whether the site has the enhanced publishing feature enabled. If true, it means that - * the site has the Advanced plan. - */ - const isEnhancedPublishingEnabled = !! getJetpackData()?.social?.isEnhancedPublishingEnabled; - /**\ * Returns true if the post type is a Jetpack Social Note. */ @@ -110,7 +103,6 @@ export default function usePublicizeConfig() { hidePublicizeFeature, isPostAlreadyShared, hasPaidPlan, - isEnhancedPublishingEnabled, isSocialImageGeneratorAvailable: !! getJetpackData()?.social?.isSocialImageGeneratorAvailable && ! isJetpackSocialNote, isSocialImageGeneratorEnabled: !! getJetpackData()?.social?.isSocialImageGeneratorEnabled, diff --git a/projects/js-packages/publicize-components/src/social-store/selectors/jetpack-settings.js b/projects/js-packages/publicize-components/src/social-store/selectors/jetpack-settings.js index 66fd71d5add49..1eb9be3e6e729 100644 --- a/projects/js-packages/publicize-components/src/social-store/selectors/jetpack-settings.js +++ b/projects/js-packages/publicize-components/src/social-store/selectors/jetpack-settings.js @@ -4,7 +4,6 @@ const jetpackSettingSelectors = { showPricingPage: state => state.jetpackSettings.show_pricing_page, isUpdatingJetpackSettings: state => state.jetpackSettings.is_updating, hasPaidPlan: state => ! ( state.jetpackSettings?.showNudge ?? true ), - isEnhancedPublishingEnabled: state => state.jetpackSettings?.isEnhancedPublishingEnabled ?? false, getDismissedNotices: state => state.jetpackSettings?.dismissedNotices, isSocialNotesEnabled: state => state.jetpackSettings?.social_notes_enabled, isSocialNotesSettingsUpdating: state => state.jetpackSettings?.social_notes_is_updating, diff --git a/projects/js-packages/publicize-components/src/utils/constants.ts b/projects/js-packages/publicize-components/src/utils/constants.ts new file mode 100644 index 0000000000000..9ac40038d75b8 --- /dev/null +++ b/projects/js-packages/publicize-components/src/utils/constants.ts @@ -0,0 +1,3 @@ +export const features = { + ENHANCED_PUBLISHING: 'social-enhanced-publishing', +};