diff --git a/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions b/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions new file mode 100644 index 0000000000000..7d77fb013a26e --- /dev/null +++ b/projects/js-packages/script-data/changelog/update-woa-atomic-jetpack-site-usage-functions @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Janitorial: Ensure functionality related to WoA site checking is clearer. diff --git a/projects/js-packages/script-data/src/utils.ts b/projects/js-packages/script-data/src/utils.ts index f1d933f1a001a..67d8b1f9d1447 100644 --- a/projects/js-packages/script-data/src/utils.ts +++ b/projects/js-packages/script-data/src/utils.ts @@ -82,6 +82,7 @@ export function isSimpleSite() { /** * Check if the is an Atomic site. + * This does not include WoA, but does include the likes of Jurassic Ninja, Pressable, Bluehost on Atomic. * * @return {boolean} Whether the site is an Atomic site. */ @@ -90,7 +91,8 @@ export function isAtomicSite() { } /** - * Check if the site is a WoA site + * Check if the site is a WoA site. + * For WoA only - not general Atomic (see isAtomicSite()). * * @return Whether the site is woa. */ @@ -111,6 +113,7 @@ export function isWpcomPlatformSite() { /** * Check if the site is self-hosted Jetpack site. + * Will return false if the site is Atomic, for example Jurassic Ninja, Pressable, Bluehost on Atomic. * * @return {boolean} Whether the site is self-hosted Jetpack site. */ diff --git a/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions b/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions new file mode 100644 index 0000000000000..7d77fb013a26e --- /dev/null +++ b/projects/js-packages/shared-extension-utils/changelog/update-woa-atomic-jetpack-site-usage-functions @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Janitorial: Ensure functionality related to WoA site checking is clearer. diff --git a/projects/js-packages/shared-extension-utils/src/site-type-utils.js b/projects/js-packages/shared-extension-utils/src/site-type-utils.js index 6c491624b630c..8d1ff87a41372 100644 --- a/projects/js-packages/shared-extension-utils/src/site-type-utils.js +++ b/projects/js-packages/shared-extension-utils/src/site-type-utils.js @@ -29,6 +29,16 @@ export function isAtomicSite() { return getSiteType() === 'atomic'; } +/** + * Check if environment is a WoA site. + * Replacement function for isAtomicSite. + * + * @return {boolean} True for WoA sites. + */ +export function isWoASite() { + return getSiteType() === 'atomic'; +} + /** * Return whether the current blog is set to private. (if blog_public option is -1) * diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx index e43d1c930dddb..dabb24e8e733c 100644 --- a/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/akismet.jsx @@ -17,7 +17,7 @@ import { getJetpackProductUpsellByFeature, FEATURE_SPAM_AKISMET_PLUS } from 'lib import { getProductDescriptionUrl } from 'product-descriptions/utils'; import { getAkismetData } from 'state/at-a-glance'; import { isOfflineMode, connectUser } from 'state/connection'; -import { getApiNonce, isAtomicSite } from 'state/initial-state'; +import { getApiNonce, isWoASite } from 'state/initial-state'; import { siteHasFeature } from 'state/site'; class DashAkismet extends Component { @@ -93,8 +93,8 @@ class DashAkismet extends Component { 'Comments and contact form submissions are checked against our global database of spam.', 'jetpack' ), - // Hide the action link from Atomic sites because it promotes purchase of Jetpack product - link: this.props.isAtomicSite ? null : 'https://akismet.com/features', + // Hide the action link from WoA sites because it promotes purchase of Jetpack product + link: this.props.isWoASite ? null : 'https://akismet.com/features', privacyLink: 'https://automattic.com/privacy/', }; @@ -248,7 +248,7 @@ export default connect( state => { return { akismetData: getAkismetData( state ), - isAtomicSite: isAtomicSite( state ), + isWoASite: isWoASite( state ), isOfflineMode: isOfflineMode( state ), upgradeUrl: getProductDescriptionUrl( state, 'akismet' ), nonce: getApiNonce( state ), diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx index 3ab155b2e56c1..ceb42ac675b3b 100644 --- a/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/index.jsx @@ -13,7 +13,7 @@ import { withModuleSettingsFormHelpers } from 'components/module-settings/with-m import analytics from 'lib/analytics'; import { isOfflineMode, hasConnectedOwner, getConnectionStatus } from 'state/connection'; import { - isAtomicSite, + isWoASite, getApiNonce, getApiRootUrl, getPartnerCoupon, @@ -104,7 +104,7 @@ class AtAGlance extends Component { // Backup won't work with multi-sites, but Scan does if VaultPress is enabled const hasVaultPressScanning = ! this.props.fetchingScanStatus && this.props.scanStatus?.reason === 'vp_active_on_site'; - if ( ! this.props.isAtomicSite && ( ! this.props.multisite || hasVaultPressScanning ) ) { + if ( ! this.props.isWoASite && ( ! this.props.multisite || hasVaultPressScanning ) ) { securityCards.push( { userCanViewStats: userCanViewStats( state ), userCanManagePlugins: userCanManagePlugins( state ), userIsSubscriber: userIsSubscriber( state ), - isAtomicSite: isAtomicSite( state ), + isWoASite: isWoASite( state ), isOfflineMode: isOfflineMode( state ), getModuleOverride: module_name => getModuleOverride( state, module_name ), isModuleAvailable: module_name => isModuleAvailable( state, module_name ), diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx index f9249d03f2dd5..bd0cd5eb8a4db 100644 --- a/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/scan.jsx @@ -29,7 +29,7 @@ import { isOfflineMode, connectUser, } from 'state/connection'; -import { isAtomicSite, showBackups } from 'state/initial-state'; +import { isWoASite, showBackups } from 'state/initial-state'; import { getScanStatus, isFetchingScanStatus } from 'state/scan'; import { getSitePlan, isFetchingSiteData } from 'state/site'; import { isPluginInstalled } from 'state/site/plugins'; @@ -285,7 +285,7 @@ class DashScan extends Component { } renderAction( url, message ) { - if ( this.props.isAtomicSite ) { + if ( this.props.isWoASite ) { return null; } @@ -437,7 +437,7 @@ export default connect( const sitePlan = getSitePlan( state ); return { - isAtomicSite: isAtomicSite( state ), + isWoASite: isWoASite( state ), isOfflineMode: isOfflineMode( state ), scanStatus: getScanStatus( state ), fetchingScanStatus: isFetchingScanStatus( state ), diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx index 8f4565dab7bc0..b9f18e445e0eb 100644 --- a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/index.jsx @@ -21,7 +21,7 @@ import { isOdysseyStatsEnabled, getInitialStateStatsData, getDateFormat, - isAtomicSite, + isWoASite, } from 'state/initial-state'; import { isModuleAvailable, getModuleOverride } from 'state/modules'; import { emptyStatsCardDismissed } from 'state/settings'; @@ -400,7 +400,7 @@ export default connect( isEmptyStatsCardDismissed: emptyStatsCardDismissed( state ), getModuleOverride: module_name => getModuleOverride( state, module_name ), isOdysseyStatsEnabled: isOdysseyStatsEnabled( state ), - isAtomicSite: isAtomicSite( state ), + isWoASite: isWoASite( state ), } ), dispatch => ( { switchView: tab => dispatch( statsSwitchTab( tab ) ), diff --git a/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx b/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx index 799a75975359a..bcc56d2c5832c 100644 --- a/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx +++ b/projects/plugins/jetpack/_inc/client/components/jetpack-notices/index.jsx @@ -22,7 +22,7 @@ import { hasConnectedOwner, } from 'state/connection'; import { - isAtomicSite, + isWoASite, isDevVersion, userCanConnectAccount, userCanConnectSite, @@ -272,7 +272,7 @@ export default connect( isConnectionOwner: isConnectionOwner( state ), isLinked: isCurrentUserLinked( state ), isDevVersion: isDevVersion( state ), - isAtomicSite: isAtomicSite( state ), + isWoASite: isWoASite( state ), siteOfflineMode: getSiteOfflineMode( state ), isInIdentityCrisis: isInIdentityCrisis( state ), connectionErrors: getConnectionErrors( state ), diff --git a/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx b/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx index 6641e1a7b0822..991e02b9497cb 100644 --- a/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx +++ b/projects/plugins/jetpack/_inc/client/components/support-card/index.jsx @@ -20,7 +20,7 @@ import { isConnectionOwner, connectUser, } from 'state/connection'; -import { isAtomicSite, isDevVersion as _isDevVersion, getUpgradeUrl } from 'state/initial-state'; +import { isWoASite, isDevVersion as _isDevVersion, getUpgradeUrl } from 'state/initial-state'; import { siteHasFeature, hasActiveProductPurchase, isFetchingSiteData } from 'state/site'; class SupportCard extends React.Component { @@ -83,7 +83,7 @@ class SupportCard extends React.Component { ? sprintf( /* translators: placeholder is either Jetpack or WordPress.com */ __( 'Your paid plan gives you access to prioritized %s support.', 'jetpack' ), - this.props.isAtomicSite ? 'WordPress.com' : 'Jetpack' + this.props.isWoASite ? 'WordPress.com' : 'Jetpack' ) : __( 'Jetpack offers support via community forums for any site without a paid product.', @@ -91,7 +91,7 @@ class SupportCard extends React.Component { ) }

- { this.props.isAtomicSite || ( + { this.props.isWoASite || (