From 6a287f024949bf636059c2e845ca6ce3c7432bd9 Mon Sep 17 00:00:00 2001 From: Kevin Zoschke Date: Wed, 3 Apr 2024 11:45:15 -0400 Subject: [PATCH 1/4] Blocks: move localizable strings out of the metadata attributes field --- .../fix-blocks-non-localized-strings | 4 + .../extensions/blocks/ai-chat/block.json | 6 +- .../extensions/blocks/ai-chat/constants.js | 4 + .../extensions/blocks/ai-chat/controls.js | 3 +- .../jetpack/extensions/blocks/ai-chat/edit.js | 22 +++-- .../blocks/ai-chat/question-answer.js | 5 +- .../jetpack/extensions/blocks/ai-chat/save.js | 3 +- .../jetpack/extensions/blocks/ai-chat/view.js | 5 +- .../blocks/cookie-consent/block.json | 3 +- .../blocks/cookie-consent/constants.js | 6 ++ .../extensions/blocks/cookie-consent/edit.js | 3 +- .../extensions/blocks/cookie-consent/save.js | 6 +- .../extensions/blocks/donations/block.json | 6 +- .../extensions/blocks/donations/constants.js | 4 + .../extensions/blocks/donations/donations.php | 7 +- .../extensions/blocks/donations/tab.js | 5 +- .../extensions/blocks/goodreads/block.json | 3 +- .../extensions/blocks/goodreads/controls.js | 9 +- .../extensions/blocks/goodreads/utils.js | 4 +- .../extensions/blocks/mailchimp/block.json | 15 ++-- .../extensions/blocks/mailchimp/constants.js | 14 ++++ .../extensions/blocks/mailchimp/controls.js | 18 ++-- .../extensions/blocks/mailchimp/edit.js | 27 ++++-- .../blocks/premium-content/block.json | 16 ---- .../blocks/subscriptions/block.json | 6 +- .../blocks/subscriptions/constants.js | 9 ++ .../blocks/subscriptions/controls.js | 9 +- .../extensions/blocks/subscriptions/edit.js | 9 +- .../blocks/subscriptions/subscriptions.php | 82 ------------------- 29 files changed, 148 insertions(+), 165 deletions(-) create mode 100644 projects/plugins/jetpack/changelog/fix-blocks-non-localized-strings create mode 100644 projects/plugins/jetpack/extensions/blocks/ai-chat/constants.js create mode 100644 projects/plugins/jetpack/extensions/blocks/cookie-consent/constants.js create mode 100644 projects/plugins/jetpack/extensions/blocks/donations/constants.js diff --git a/projects/plugins/jetpack/changelog/fix-blocks-non-localized-strings b/projects/plugins/jetpack/changelog/fix-blocks-non-localized-strings new file mode 100644 index 0000000000000..6f96834cb08aa --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-blocks-non-localized-strings @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Blocks: move localizable strings out of the metadata attributes field diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/block.json b/projects/plugins/jetpack/extensions/blocks/ai-chat/block.json index e8281b2663716..ceff14be9271f 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/block.json +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/block.json @@ -20,12 +20,10 @@ }, "attributes": { "askButtonLabel": { - "type": "string", - "default": "Ask" + "type": "string" }, "placeholder": { - "type": "string", - "default": "Ask a question about this site" + "type": "string" }, "showCopy": { "type": "boolean", diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/constants.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/constants.js new file mode 100644 index 0000000000000..50fe829f812e8 --- /dev/null +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/constants.js @@ -0,0 +1,4 @@ +import { __ } from '@wordpress/i18n'; + +export const DEFAULT_ASK_BUTTON_LABEL = __( 'Ask', 'jetpack' ); +export const DEFAULT_PLACEHOLDER = __( 'Ask a question about this site', 'jetpack' ); diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/controls.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/controls.js index 3da7932d6357d..1b6cfb306c694 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/controls.js @@ -8,6 +8,7 @@ import { } from '@wordpress/components'; import { useEntityProp } from '@wordpress/core-data'; import { __ } from '@wordpress/i18n'; +import { DEFAULT_PLACEHOLDER } from './constants'; export function AiChatControls( { setAttributes, @@ -30,7 +31,7 @@ export function AiChatControls( { className="jetpack-ai-chat__ask-button-text" > setAttributes( { placeholder: newPlaceholder } ) } value={ placeholder } /> diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/edit.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/edit.js index 84f3212285d06..57f0626191e8e 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/edit.js +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/edit.js @@ -14,9 +14,17 @@ import { useSelect } from '@wordpress/data'; import './editor.scss'; import ConnectPrompt from './components/nudge-connect'; import EnableJetpackSearchPrompt from './components/nudge-enable-search'; +import { DEFAULT_ASK_BUTTON_LABEL, DEFAULT_PLACEHOLDER } from './constants'; import { AiChatControls } from './controls'; export default function Edit( { attributes, setAttributes, clientId } ) { + const { + askButtonLabel = DEFAULT_ASK_BUTTON_LABEL, + placeholder = DEFAULT_PLACEHOLDER, + showCopy, + showFeedback, + showSources, + } = attributes; const blockProps = useBlockProps(); const isBlockSelected = useSelect( select => { @@ -31,13 +39,13 @@ export default function Edit( { attributes, setAttributes, clientId } ) {
setAttributes( { askButtonLabel: value } ) } - value={ attributes.askButtonLabel } + value={ askButtonLabel } withoutInteractiveFormatting allowedFormats={ [ 'core/bold', 'core/italic', 'core/strikethrough' ] } /> @@ -45,12 +53,12 @@ export default function Edit( { attributes, setAttributes, clientId } ) { { isBlockSelected && }
diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/question-answer.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/question-answer.js index 859e520c087cd..1c7bb156d67a3 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/question-answer.js +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/question-answer.js @@ -16,6 +16,7 @@ import { __ } from '@wordpress/i18n'; import CopyButton from './components/copy-button'; import DisplayError from './components/display-error'; import Feedback from './components/feedback'; +import { DEFAULT_ASK_BUTTON_LABEL, DEFAULT_PLACEHOLDER } from './constants'; import useSubmitQuestion from './use-submit-question'; // TODO: Configurable strings. @@ -75,10 +76,10 @@ function ShowLittleByLittle( { html, showAnimation, onAnimationDone } ) { * @returns {QuestionAnswer} component. */ export default function QuestionAnswer( { - askButtonLabel, + askButtonLabel = DEFAULT_ASK_BUTTON_LABEL, blogId, blogType, - placeholder, + placeholder = DEFAULT_PLACEHOLDER, settingShowCopy, settingShowFeedback, settingShowSources, diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/save.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/save.js index 37515bf18b291..dde98dccbc469 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/save.js +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/save.js @@ -1,8 +1,9 @@ import { useBlockProps } from '@wordpress/block-editor'; +import { DEFAULT_ASK_BUTTON_LABEL } from './constants'; export default function ( { attributes } ) { const blockProps = useBlockProps.save( { - 'data-ask-button-label': attributes.askButtonLabel, + 'data-ask-button-label': attributes.askButtonLabel || DEFAULT_ASK_BUTTON_LABEL, } ); return
; } diff --git a/projects/plugins/jetpack/extensions/blocks/ai-chat/view.js b/projects/plugins/jetpack/extensions/blocks/ai-chat/view.js index fa13833748710..9bcc242461739 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-chat/view.js +++ b/projects/plugins/jetpack/extensions/blocks/ai-chat/view.js @@ -1,13 +1,14 @@ import domReady from '@wordpress/dom-ready'; import { render } from '@wordpress/element'; +import { DEFAULT_ASK_BUTTON_LABEL, DEFAULT_PLACEHOLDER } from './constants'; import QuestionAnswer from './question-answer'; import './view.scss'; const AiChat = ( { - askButtonLabel, + askButtonLabel = DEFAULT_ASK_BUTTON_LABEL, blogId, blogType, - placeholder, + placeholder = DEFAULT_PLACEHOLDER, showCopy, showFeedback, showSources, diff --git a/projects/plugins/jetpack/extensions/blocks/cookie-consent/block.json b/projects/plugins/jetpack/extensions/blocks/cookie-consent/block.json index c47e4867ca4bb..0268007e25a0a 100644 --- a/projects/plugins/jetpack/extensions/blocks/cookie-consent/block.json +++ b/projects/plugins/jetpack/extensions/blocks/cookie-consent/block.json @@ -31,8 +31,7 @@ "text": { "type": "string", "source": "html", - "selector": "p", - "default": "Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy." + "selector": "p" }, "style": { "type": "object", diff --git a/projects/plugins/jetpack/extensions/blocks/cookie-consent/constants.js b/projects/plugins/jetpack/extensions/blocks/cookie-consent/constants.js new file mode 100644 index 0000000000000..0aa13a133a338 --- /dev/null +++ b/projects/plugins/jetpack/extensions/blocks/cookie-consent/constants.js @@ -0,0 +1,6 @@ +import { __ } from '@wordpress/i18n'; + +export const DEFAULT_TEXT = __( + 'Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy.', + 'jetpack' +); diff --git a/projects/plugins/jetpack/extensions/blocks/cookie-consent/edit.js b/projects/plugins/jetpack/extensions/blocks/cookie-consent/edit.js index b96b5ea862459..be0e2c6b08174 100644 --- a/projects/plugins/jetpack/extensions/blocks/cookie-consent/edit.js +++ b/projects/plugins/jetpack/extensions/blocks/cookie-consent/edit.js @@ -2,6 +2,7 @@ import { InspectorControls, useBlockProps, InnerBlocks, RichText } from '@wordpr import { PanelBody, TextControl, SelectControl } from '@wordpress/components'; import { __, isRTL } from '@wordpress/i18n'; import './editor.scss'; +import { DEFAULT_TEXT } from './constants'; import { useSaveCookieConsentSettings } from './use-save-cookie-consent-settings'; /** @@ -14,7 +15,7 @@ import { useSaveCookieConsentSettings } from './use-save-cookie-consent-settings * @returns {object} Element to render. */ function CookieConsentBlockEdit( { clientId, attributes, setAttributes } ) { - const { consentExpiryDays, align, text } = attributes; + const { consentExpiryDays, align, text = DEFAULT_TEXT } = attributes; useSaveCookieConsentSettings( clientId ); /** diff --git a/projects/plugins/jetpack/extensions/blocks/cookie-consent/save.js b/projects/plugins/jetpack/extensions/blocks/cookie-consent/save.js index 834279b4ad03d..f1587866f3e17 100644 --- a/projects/plugins/jetpack/extensions/blocks/cookie-consent/save.js +++ b/projects/plugins/jetpack/extensions/blocks/cookie-consent/save.js @@ -5,6 +5,7 @@ * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops */ import { InnerBlocks, useBlockProps, RichText } from '@wordpress/block-editor'; +import { DEFAULT_TEXT } from './constants'; /** * The save function defines the way in which the different attributes should @@ -18,12 +19,13 @@ import { InnerBlocks, useBlockProps, RichText } from '@wordpress/block-editor'; */ export default function save( { attributes } ) { const blockProps = useBlockProps.save(); + const { text = DEFAULT_TEXT, consentExpiryDays } = attributes; return (
- + - { attributes.consentExpiryDays } + { consentExpiryDays }
); } diff --git a/projects/plugins/jetpack/extensions/blocks/donations/block.json b/projects/plugins/jetpack/extensions/blocks/donations/block.json index 2128f3d6112bc..364fe089e4946 100644 --- a/projects/plugins/jetpack/extensions/blocks/donations/block.json +++ b/projects/plugins/jetpack/extensions/blocks/donations/block.json @@ -78,12 +78,10 @@ "default": true }, "chooseAmountText": { - "type": "string", - "default": "Choose an amount" + "type": "string" }, "customAmountText": { - "type": "string", - "default": "Or enter a custom amount" + "type": "string" }, "fallbackLinkUrl": { "type": "string" diff --git a/projects/plugins/jetpack/extensions/blocks/donations/constants.js b/projects/plugins/jetpack/extensions/blocks/donations/constants.js new file mode 100644 index 0000000000000..10c1bb690885f --- /dev/null +++ b/projects/plugins/jetpack/extensions/blocks/donations/constants.js @@ -0,0 +1,4 @@ +import { __ } from '@wordpress/i18n'; + +export const DEFAULT_CHOOSE_AMOUNT_TEXT = __( 'Choose an amount', 'jetpack' ); +export const DEFAULT_CUSTOM_AMOUNT_TEXT = __( 'Or enter a custom amount', 'jetpack' ); diff --git a/projects/plugins/jetpack/extensions/blocks/donations/donations.php b/projects/plugins/jetpack/extensions/blocks/donations/donations.php index 3045a83e117db..64365bdf353f7 100644 --- a/projects/plugins/jetpack/extensions/blocks/donations/donations.php +++ b/projects/plugins/jetpack/extensions/blocks/donations/donations.php @@ -80,6 +80,9 @@ function render_block( $attr, $content ) { ); } + $choose_amount_text = isset( $attr['chooseAmountText'] ) && ! empty( $attr['chooseAmountText'] ) ? $attr['chooseAmountText'] : __( 'Choose an amount', 'jetpack' ); + $custom_amount_text = isset( $attr['customAmountText'] ) && ! empty( $attr['customAmountText'] ) ? $attr['customAmountText'] : __( 'Or enter a custom amount', 'jetpack' ); + $currency = $attr['currency']; $nav = ''; $headings = ''; @@ -140,7 +143,7 @@ function render_block( $attr, $content ) { if ( $attr['showCustomAmount'] ) { $custom_amount .= sprintf( '

%s

', - wp_kses_post( $attr['customAmountText'] ) + wp_kses_post( $custom_amount_text ) ); $default_custom_amount = \Jetpack_Memberships::SUPPORTED_CURRENCIES[ $currency ] * 100; $custom_amount .= sprintf( @@ -176,7 +179,7 @@ function render_block( $attr, $content ) { esc_attr( Blocks::classes( Blocks::get_block_feature( __DIR__ ), $attr ) ), $nav, $headings, - $attr['chooseAmountText'], + $choose_amount_text, $amounts, $custom_amount, $extra_text, diff --git a/projects/plugins/jetpack/extensions/blocks/donations/tab.js b/projects/plugins/jetpack/extensions/blocks/donations/tab.js index 9cf6c5c0a9e04..65a463ded1504 100644 --- a/projects/plugins/jetpack/extensions/blocks/donations/tab.js +++ b/projects/plugins/jetpack/extensions/blocks/donations/tab.js @@ -6,6 +6,7 @@ import { minimumTransactionAmountForCurrency, } from '../../shared/currencies'; import Amount from './amount'; +import { DEFAULT_CHOOSE_AMOUNT_TEXT, DEFAULT_CUSTOM_AMOUNT_TEXT } from './constants'; const Tab = ( { activeTab, attributes, setAttributes } ) => { const { @@ -14,8 +15,8 @@ const Tab = ( { activeTab, attributes, setAttributes } ) => { monthlyDonation, annualDonation, showCustomAmount, - chooseAmountText, - customAmountText, + chooseAmountText = DEFAULT_CHOOSE_AMOUNT_TEXT, + customAmountText = DEFAULT_CUSTOM_AMOUNT_TEXT, } = attributes; const donationAttributes = { diff --git a/projects/plugins/jetpack/extensions/blocks/goodreads/block.json b/projects/plugins/jetpack/extensions/blocks/goodreads/block.json index d125757f793b9..50ce18b12bf9d 100644 --- a/projects/plugins/jetpack/extensions/blocks/goodreads/block.json +++ b/projects/plugins/jetpack/extensions/blocks/goodreads/block.json @@ -22,8 +22,7 @@ "type": "string" }, "customTitle": { - "type": "string", - "default": "My Bookshelf" + "type": "string" }, "goodreadsId": { "type": "number" diff --git a/projects/plugins/jetpack/extensions/blocks/goodreads/controls.js b/projects/plugins/jetpack/extensions/blocks/goodreads/controls.js index 6d9b75a4da798..30de00e96cfca 100644 --- a/projects/plugins/jetpack/extensions/blocks/goodreads/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/goodreads/controls.js @@ -7,7 +7,12 @@ import { ToolbarGroup, } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; -import { GOODREADS_SHELF_OPTIONS, GOODREADS_ORDER_OPTIONS, GOODREADS_SORT_OPTIONS } from './utils'; +import { + GOODREADS_SHELF_OPTIONS, + GOODREADS_ORDER_OPTIONS, + GOODREADS_SORT_OPTIONS, + GOODREADS_DEFAULT_TITLE, +} from './utils'; const renderGoodreadsDisplaySettings = ( { attributes, setAttributes } ) => { const { showCover, showAuthor, showTitle, showRating, showReview, showTags } = attributes; @@ -68,7 +73,7 @@ export function GoodreadsInspectorControls( { attributes, setAttributes } ) { setAttributes( { customTitle: value } ) } /> diff --git a/projects/plugins/jetpack/extensions/blocks/goodreads/utils.js b/projects/plugins/jetpack/extensions/blocks/goodreads/utils.js index a9fcdbbc80779..b3a6e45ea697f 100644 --- a/projects/plugins/jetpack/extensions/blocks/goodreads/utils.js +++ b/projects/plugins/jetpack/extensions/blocks/goodreads/utils.js @@ -1,5 +1,7 @@ import { __, _x } from '@wordpress/i18n'; +export const GOODREADS_DEFAULT_TITLE = __( 'My Bookshelf', 'jetpack' ); + export const GOODREADS_SHELF_OPTIONS = [ { label: _x( 'Read', 'perfect participle - eg. I read a book yesterday.', 'jetpack' ), @@ -52,7 +54,7 @@ export const GOODREADS_ORDER_OPTIONS = [ export function createGoodreadsEmbedLink( { attributes } ) { const { bookNumber, - customTitle, + customTitle = GOODREADS_DEFAULT_TITLE, goodreadsId, orderOption, shelfOption, diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/block.json b/projects/plugins/jetpack/extensions/blocks/mailchimp/block.json index b20af4487b904..1f91e9b7d491f 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/block.json +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/block.json @@ -21,20 +21,17 @@ }, "attributes": { "emailPlaceholder": { - "type": "string", - "default": "Enter your email" + "type": "string" }, "consentText": { - "type": "string", - "default": "By clicking submit, you agree to share your email address with the site owner and Mailchimp to receive marketing, updates, and other emails from the site owner. Use the unsubscribe link in those emails to opt out at any time." + "type": "string" }, "interests": { "type": "array", "default": [] }, "processingLabel": { - "type": "string", - "default": "Processing…" + "type": "string" }, "signupFieldTag": { "type": "string" @@ -43,12 +40,10 @@ "type": "string" }, "successLabel": { - "type": "string", - "default": "Success! You're on the list." + "type": "string" }, "errorLabel": { - "type": "string", - "default": "Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again." + "type": "string" }, "preview": { "type": "boolean", diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/constants.js b/projects/plugins/jetpack/extensions/blocks/mailchimp/constants.js index 9e231ee9d3e1d..8440de5dd03bd 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/constants.js +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/constants.js @@ -1,3 +1,17 @@ +import { __ } from '@wordpress/i18n'; + export const NOTIFICATION_PROCESSING = 'processing'; export const NOTIFICATION_SUCCESS = 'success'; export const NOTIFICATION_ERROR = 'error'; + +export const DEFAULT_EMAIL_PLACEHOLDER = __( 'Enter your email', 'jetpack' ); +export const DEFAULT_CONSENT_TEXT = __( + 'By clicking submit, you agree to share your email address with the site owner and Mailchimp to receive marketing, updates, and other emails from the site owner. Use the unsubscribe link in those emails to opt out at any time.', + 'jetpack' +); +export const DEFAULT_PROCESSING_LABEL = __( 'Processing…', 'jetpack' ); +export const DEFAULT_SUCCESS_LABEL = __( "Success! You're on the list.", 'jetpack' ); +export const DEFAULT_ERROR_LABEL = __( + "Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.", + 'jetpack' +); diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/controls.js b/projects/plugins/jetpack/extensions/blocks/mailchimp/controls.js index 99399823dbc74..271d0f69d0405 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/controls.js @@ -1,16 +1,24 @@ import { ExternalLink, PanelBody, TextControl } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; -import { NOTIFICATION_PROCESSING, NOTIFICATION_SUCCESS, NOTIFICATION_ERROR } from './constants'; +import { + NOTIFICATION_PROCESSING, + NOTIFICATION_SUCCESS, + NOTIFICATION_ERROR, + DEFAULT_EMAIL_PLACEHOLDER, + DEFAULT_PROCESSING_LABEL, + DEFAULT_SUCCESS_LABEL, + DEFAULT_ERROR_LABEL, +} from './constants'; import MailchimpGroups from './mailchimp-groups'; export function MailChimpBlockControls( { auditionNotification, clearAudition, setAttributes, - emailPlaceholder, - processingLabel, - successLabel, - errorLabel, + emailPlaceholder = DEFAULT_EMAIL_PLACEHOLDER, + processingLabel = DEFAULT_PROCESSING_LABEL, + successLabel = DEFAULT_SUCCESS_LABEL, + errorLabel = DEFAULT_ERROR_LABEL, interests, signupFieldTag, signupFieldValue, diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/edit.js b/projects/plugins/jetpack/extensions/blocks/mailchimp/edit.js index a6be46b104ab7..3775eca8de229 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/edit.js +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/edit.js @@ -10,7 +10,16 @@ import { __ } from '@wordpress/i18n'; import { addQueryArgs } from '@wordpress/url'; import classnames from 'classnames'; import metadata from './block.json'; -import { NOTIFICATION_PROCESSING, NOTIFICATION_SUCCESS, NOTIFICATION_ERROR } from './constants'; +import { + NOTIFICATION_PROCESSING, + NOTIFICATION_SUCCESS, + NOTIFICATION_ERROR, + DEFAULT_EMAIL_PLACEHOLDER, + DEFAULT_CONSENT_TEXT, + DEFAULT_PROCESSING_LABEL, + DEFAULT_SUCCESS_LABEL, + DEFAULT_ERROR_LABEL, +} from './constants'; import { MailChimpBlockControls } from './controls'; const API_STATE_LOADING = 0; @@ -97,7 +106,11 @@ class MailchimpSubscribeEdit extends Component { labelForAuditionType = audition => { const { attributes } = this.props; - const { processingLabel, successLabel, errorLabel } = attributes; + const { + processingLabel = DEFAULT_PROCESSING_LABEL, + successLabel = DEFAULT_SUCCESS_LABEL, + errorLabel = DEFAULT_ERROR_LABEL, + } = attributes; if ( audition === NOTIFICATION_PROCESSING ) { return processingLabel; } else if ( audition === NOTIFICATION_SUCCESS ) { @@ -119,12 +132,12 @@ class MailchimpSubscribeEdit extends Component { const { attributes, className, notices, noticeUI, setAttributes } = this.props; const { audition, connected, connectURL, currentUserConnected } = this.state; const { - emailPlaceholder, - consentText, + emailPlaceholder = DEFAULT_EMAIL_PLACEHOLDER, + consentText = DEFAULT_CONSENT_TEXT, interests, - processingLabel, - successLabel, - errorLabel, + processingLabel = DEFAULT_PROCESSING_LABEL, + successLabel = DEFAULT_SUCCESS_LABEL, + errorLabel = DEFAULT_ERROR_LABEL, preview, signupFieldTag, signupFieldValue, diff --git a/projects/plugins/jetpack/extensions/blocks/premium-content/block.json b/projects/plugins/jetpack/extensions/blocks/premium-content/block.json index 37272ac92e96e..6ae55f3805f3f 100644 --- a/projects/plugins/jetpack/extensions/blocks/premium-content/block.json +++ b/projects/plugins/jetpack/extensions/blocks/premium-content/block.json @@ -50,22 +50,6 @@ "isPremiumContentChild": "isPremiumContentChild" }, "attributes": { - "newPlanName": { - "type": "string", - "default": "Monthly Subscription" - }, - "newPlanCurrency": { - "type": "string", - "default": "USD" - }, - "newPlanPrice": { - "type": "number", - "default": 5 - }, - "newPlanInterval": { - "type": "string", - "default": "1 month" - }, "selectedPlanIds": { "type": "array", "default": [] diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/block.json b/projects/plugins/jetpack/extensions/blocks/subscriptions/block.json index 80ee95d0550e9..f1d236b33e509 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/block.json +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/block.json @@ -29,8 +29,7 @@ ], "attributes": { "subscribePlaceholder": { - "type": "string", - "default": "Type your email…" + "type": "string" }, "showSubscribersTotal": { "type": "boolean", @@ -47,8 +46,7 @@ "type": "string" }, "submitButtonText": { - "type": "string", - "default": "Subscribe" + "type": "string" }, "emailFieldBackgroundColor": { "type": "string" diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/constants.js b/projects/plugins/jetpack/extensions/blocks/subscriptions/constants.js index 930bbb49864c0..c71d94d8e01de 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/constants.js +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/constants.js @@ -1,3 +1,5 @@ +import { __ } from '@wordpress/i18n'; + export const MIN_BORDER_RADIUS_VALUE = 0; export const MAX_BORDER_RADIUS_VALUE = 50; export const DEFAULT_BORDER_RADIUS_VALUE = 0; @@ -15,3 +17,10 @@ export const MAX_SPACING_VALUE = 50; export const DEFAULT_SPACING_VALUE = 10; export const DEFAULT_FONTSIZE_VALUE = '16px'; + +export const DEFAULT_SUBSCRIBE_PLACEHOLDER = __( 'Type your email…', 'jetpack' ); +export const DEFAULT_SUBMIT_BUTTON_LABEL = __( 'Subscribe', 'jetpack' ); +export const DEFAULT_SUCCESS_MESSAGE = __( + "Success! An email was just sent to confirm your subscription. Please find the email now and click 'Confirm Follow' to start subscribing.", + 'jetpack' +); diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/controls.js b/projects/plugins/jetpack/extensions/blocks/subscriptions/controls.js index e5a6ea4bdea76..720919469be0d 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/controls.js @@ -26,6 +26,9 @@ import { MAX_SPACING_VALUE, DEFAULT_SPACING_VALUE, DEFAULT_FONTSIZE_VALUE, + DEFAULT_SUBSCRIBE_PLACEHOLDER, + DEFAULT_SUBMIT_BUTTON_LABEL, + DEFAULT_SUCCESS_MESSAGE, } from './constants'; export default function SubscriptionControls( { @@ -51,9 +54,9 @@ export default function SubscriptionControls( { subscriberCount, textColor, buttonWidth, - subscribePlaceholder, - submitButtonText, - successMessage, + subscribePlaceholder = DEFAULT_SUBSCRIBE_PLACEHOLDER, + submitButtonText = DEFAULT_SUBMIT_BUTTON_LABEL, + successMessage = DEFAULT_SUCCESS_MESSAGE, } ) { const { isPublicizeEnabled } = usePublicizeConfig(); diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/edit.js b/projects/plugins/jetpack/extensions/blocks/subscriptions/edit.js index 038b4f2e3a5f0..8c4fe53de9568 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/edit.js +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/edit.js @@ -27,6 +27,9 @@ import { DEFAULT_PADDING_VALUE, DEFAULT_SPACING_VALUE, DEFAULT_FONTSIZE_VALUE, + DEFAULT_SUBSCRIBE_PLACEHOLDER, + DEFAULT_SUBMIT_BUTTON_LABEL, + DEFAULT_SUCCESS_MESSAGE, } from './constants'; import SubscriptionControls from './controls'; import { SubscriptionsPlaceholder } from './subscription-placeholder'; @@ -85,11 +88,11 @@ export function SubscriptionEdit( props ) { includeSocialFollowers, padding, spacing, - submitButtonText, - subscribePlaceholder, + submitButtonText = DEFAULT_SUBMIT_BUTTON_LABEL, + subscribePlaceholder = DEFAULT_SUBSCRIBE_PLACEHOLDER, showSubscribersTotal, buttonOnNewLine, - successMessage, + successMessage = DEFAULT_SUCCESS_MESSAGE, } = validatedAttributes; const { subscriberCount, subscriberCountString } = useSelect( select => { diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/subscriptions.php b/projects/plugins/jetpack/extensions/blocks/subscriptions/subscriptions.php index 0b985dae81337..efbc73a3252bb 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/subscriptions.php +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/subscriptions.php @@ -60,88 +60,6 @@ function register_block() { ), 'align' => array( 'wide', 'full' ), ), - 'attributes' => array( - 'subscribePlaceholder' => array( - 'type' => 'string', - 'default' => __( 'Type your email…', 'jetpack' ), - ), - 'showSubscribersTotal' => array( - 'type' => 'boolean', - 'default' => false, - ), - 'includeSocialFollowers' => array( - 'type' => 'boolean', - ), - 'buttonOnNewLine' => array( - 'type' => 'boolean', - 'default' => false, - ), - 'buttonWidth' => array( - 'type' => 'string', - ), - 'submitButtonText' => array( - 'type' => 'string', - 'default' => __( 'Subscribe', 'jetpack' ), - ), - 'emailFieldBackgroundColor' => array( - 'type' => 'string', - ), - 'customEmailFieldBackgroundColor' => array( - 'type' => 'string', - ), - 'emailFieldGradient' => array( - 'type' => 'string', - ), - 'customEmailFieldGradient' => array( - 'type' => 'string', - ), - 'buttonBackgroundColor' => array( - 'type' => 'string', - ), - 'customButtonBackgroundColor' => array( - 'type' => 'string', - ), - 'buttonGradient' => array( - 'type' => 'string', - ), - 'customButtonGradient' => array( - 'type' => 'string', - ), - 'textColor' => array( - 'type' => 'string', - ), - 'customTextColor' => array( - 'type' => 'string', - ), - 'fontSize' => array( - 'type' => 'string', - ), - 'customFontSize' => array( - 'type' => 'string', - ), - 'borderRadius' => array( - 'type' => 'number', - ), - 'borderWeight' => array( - 'type' => 'number', - ), - 'borderColor' => array( - 'type' => 'string', - ), - 'customBorderColor' => array( - 'type' => 'string', - ), - 'padding' => array( - 'type' => 'number', - ), - 'spacing' => array( - 'type' => 'number', - ), - 'successMessage' => array( - 'type' => 'string', - 'default' => __( 'Success! An email was just sent to confirm your subscription. Please find the email now and click \'Confirm Follow\' to start subscribing.', 'jetpack' ), - ), - ), ) ); } From a203e6881d16b8bab7061a8bd2e16ec67e57a25b Mon Sep 17 00:00:00 2001 From: Kevin Zoschke Date: Wed, 3 Apr 2024 12:53:23 -0400 Subject: [PATCH 2/4] Fix Goodreads block tests --- .../blocks/goodreads/test/fixtures/jetpack__goodreads.json | 1 - 1 file changed, 1 deletion(-) diff --git a/projects/plugins/jetpack/extensions/blocks/goodreads/test/fixtures/jetpack__goodreads.json b/projects/plugins/jetpack/extensions/blocks/goodreads/test/fixtures/jetpack__goodreads.json index ee9d964aaf74c..d6de3e188bc70 100644 --- a/projects/plugins/jetpack/extensions/blocks/goodreads/test/fixtures/jetpack__goodreads.json +++ b/projects/plugins/jetpack/extensions/blocks/goodreads/test/fixtures/jetpack__goodreads.json @@ -5,7 +5,6 @@ "isValid": true, "attributes": { "bookNumber": "5", - "customTitle": "My Bookshelf", "goodreadsId": 1176283, "id": "gr_custom_widget_4529663", "link": "https://www.goodreads.com/review/custom_widget/1176283.My Bookshelf?num_books=5&order=a&shelf=read&show_author=1&show_cover=1&show_rating=1&show_review=0&show_tags=0&show_title=1&sort=date_added&widget_id=4529663", From 258b57c4f13289ed6eae9c4cac9b60965ed23758 Mon Sep 17 00:00:00 2001 From: Kevin Zoschke Date: Wed, 3 Apr 2024 14:50:22 -0400 Subject: [PATCH 3/4] Update Subscriptions block test fixtures --- .../jetpack__subscriptions__deprecated-1.serialized.html | 2 +- .../jetpack__subscriptions__deprecated-2.serialized.html | 2 +- .../jetpack__subscriptions__deprecated-3.serialized.html | 2 +- .../jetpack__subscriptions__deprecated-5.serialized.html | 2 +- .../jetpack__subscriptions__deprecated-6.serialized.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-1.serialized.html b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-1.serialized.html index 5197ae96f90ae..f2e81017d5785 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-1.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-1.serialized.html @@ -1 +1 @@ - + diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-2.serialized.html b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-2.serialized.html index 0ba638430799f..7b8b57de1a59b 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-2.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-2.serialized.html @@ -1 +1 @@ - + diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-3.serialized.html b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-3.serialized.html index f15650541c33a..d9124f438857f 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-3.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-3.serialized.html @@ -1 +1 @@ - + diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-5.serialized.html b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-5.serialized.html index b1717b3f8f1c3..196ab1a9a6b07 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-5.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-5.serialized.html @@ -1 +1 @@ - + diff --git a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-6.serialized.html b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-6.serialized.html index f15650541c33a..d9124f438857f 100644 --- a/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-6.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/subscriptions/test/fixtures/jetpack__subscriptions__deprecated-6.serialized.html @@ -1 +1 @@ - + From 222b01080949c34c3bf6124ed9e929d5cf1e2afa Mon Sep 17 00:00:00 2001 From: Kevin Zoschke Date: Wed, 3 Apr 2024 14:59:40 -0400 Subject: [PATCH 4/4] Update Mailchimp block test fixtures --- .../test/fixtures/jetpack__mailchimp.json | 55 +++++++++---------- ...k__mailchimp__deprecated-1.serialized.html | 2 +- 2 files changed, 26 insertions(+), 31 deletions(-) diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp.json b/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp.json index 953c942efa245..6e063e8a81b42 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp.json +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp.json @@ -1,32 +1,27 @@ [ - { - "clientId": "_clientId_0", - "name": "jetpack/mailchimp", - "isValid": true, - "attributes": { - "emailPlaceholder": "Enter your email", - "consentText": "By clicking submit, you agree to share your email address with the site owner and Mailchimp to receive marketing, updates, and other emails from the site owner. Use the unsubscribe link in those emails to opt out at any time.", - "interests": [], - "processingLabel": "Processing…", - "successLabel": "Success! You're on the list.", - "errorLabel": "Whoops! There was an error and we couldn't process your subscription. Please reload the page and try again.", - "preview": false - }, - "innerBlocks": [ - { - "clientId": "_clientId_0", - "name": "jetpack/button", - "isValid": true, - "attributes": { - "element": "button", - "saveInPostContent": false, - "uniqueId": "mailchimp-widget-id", - "text": "Join my email list" - }, - "innerBlocks": [], - "originalContent": "" - } - ], - "originalContent": "" - } + { + "clientId": "_clientId_0", + "name": "jetpack/mailchimp", + "isValid": true, + "attributes": { + "interests": [], + "preview": false + }, + "innerBlocks": [ + { + "clientId": "_clientId_0", + "name": "jetpack/button", + "isValid": true, + "attributes": { + "element": "button", + "saveInPostContent": false, + "uniqueId": "mailchimp-widget-id", + "text": "Join my email list" + }, + "innerBlocks": [], + "originalContent": "" + } + ], + "originalContent": "" + } ] diff --git a/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp__deprecated-1.serialized.html b/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp__deprecated-1.serialized.html index 22aaac5e9f5d7..6455543735329 100644 --- a/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp__deprecated-1.serialized.html +++ b/projects/plugins/jetpack/extensions/blocks/mailchimp/test/fixtures/jetpack__mailchimp__deprecated-1.serialized.html @@ -1,3 +1,3 @@ - +