diff --git a/client/my-sites/earn/ads/form-settings.tsx b/client/my-sites/earn/ads/form-settings.tsx index 01c0575d3b2635..c9bad80e91b602 100644 --- a/client/my-sites/earn/ads/form-settings.tsx +++ b/client/my-sites/earn/ads/form-settings.tsx @@ -21,7 +21,11 @@ import { useDispatch, useSelector } from 'calypso/state'; import getSiteUrl from 'calypso/state/selectors/get-site-url'; import { getWordadsSettings } from 'calypso/state/selectors/get-wordads-settings'; import isSavingWordadsSettings from 'calypso/state/selectors/is-saving-wordads-settings'; -import { isJetpackSite, getCustomizerUrl } from 'calypso/state/sites/selectors'; +import { + isJetpackSite, + isJetpackMinimumVersion, + getCustomizerUrl, +} from 'calypso/state/sites/selectors'; import { getSelectedSite, getSelectedSiteId } from 'calypso/state/ui/selectors'; import { saveWordadsSettings } from 'calypso/state/wordads/settings/actions'; @@ -32,6 +36,7 @@ type DisplayOptions = { display_archive?: boolean; enable_header_ad?: boolean; second_belowpost?: boolean; + inline_enabled?: boolean; sidebar?: boolean; }; @@ -64,6 +69,10 @@ const AdsFormSettings = () => { ); const wordadsSettings = useSelector( ( state ) => getWordadsSettings( state, siteId ) ); const widgetsUrl = useSelector( ( state ) => getCustomizerUrl( state, siteId, 'widgets' ) ); + const isMinVersionForInlineAds = useSelector( + ( state ) => siteId && isJetpackMinimumVersion( state, siteId, '13.5-a.1' ) + ); + const supportsInlineAds = ! siteIsJetpack || isMinVersionForInlineAds; const isLoading = ! wordadsSettings || isSavingSettings; const isWordAds = site?.options?.wordads; @@ -253,6 +262,14 @@ const AdsFormSettings = () => { onChange={ () => handleDisplayToggle( 'second_belowpost' ) } label={ translate( 'Second ad below post' ) } /> + { supportsInlineAds && ( + handleDisplayToggle( 'inline_enabled' ) } + label={ translate( 'Inline within post content' ) } + /> + ) } { ! siteIsJetpack && ( ( dispatch, getState ) => { wordads_display_archive: settings.display_options.display_archive, enable_header_ad: settings.display_options.enable_header_ad, wordads_second_belowpost: settings.display_options.second_belowpost, + wordads_inline_enabled: settings.display_options.inline_enabled, wordads_ccpa_enabled: settings.ccpa_enabled, wordads_ccpa_privacy_policy_url: settings.ccpa_privacy_policy_url, wordads_custom_adstxt_enabled: settings.custom_adstxt_enabled, diff --git a/client/state/selectors/get-wordads-settings.js b/client/state/selectors/get-wordads-settings.js index 71355916768a0c..31f84e45414fb3 100644 --- a/client/state/selectors/get-wordads-settings.js +++ b/client/state/selectors/get-wordads-settings.js @@ -37,6 +37,7 @@ export const getWordadsSettings = createSelector( display_archive: siteSettings.wordads_display_archive, enable_header_ad: siteSettings.enable_header_ad, second_belowpost: siteSettings.wordads_second_belowpost, + inline_enabled: siteSettings.wordads_inline_enabled, }, ccpa_enabled: siteSettings.wordads_ccpa_enabled, ccpa_privacy_policy_url: siteSettings.wordads_ccpa_privacy_policy_url, diff --git a/client/state/selectors/test/get-wordads-settings.js b/client/state/selectors/test/get-wordads-settings.js index b87511adfac071..f972980ad56991 100644 --- a/client/state/selectors/test/get-wordads-settings.js +++ b/client/state/selectors/test/get-wordads-settings.js @@ -90,6 +90,7 @@ describe( 'getWordadsSettings()', () => { wordads_display_archive: 'wordads_display_archive-test', enable_header_ad: 'enable_header_ad-test', wordads_second_belowpost: 'wordads_second_belowpost-test', + wordads_inline_enabled: 'wordads_inline_enabled-test', wordads_ccpa_enabled: 'wordads_ccpa_enabled-test', wordads_ccpa_privacy_policy_url: 'wordads_ccpa_privacy_policy_url-test', wordads_custom_adstxt_enabled: 'wordads_custom_adstxt_enabled-test', @@ -117,6 +118,10 @@ describe( 'getWordadsSettings()', () => { 'display_options.second_belowpost', 'wordads_second_belowpost-test' ); + expect( output ).toHaveProperty( + 'display_options.inline_enabled', + 'wordads_inline_enabled-test' + ); expect( output ).toHaveProperty( 'ccpa_enabled', 'wordads_ccpa_enabled-test' ); expect( output ).toHaveProperty( 'ccpa_privacy_policy_url',