@automattic/wpcom-checkout
Version:
Functions and components used by WordPress.com checkout.
101 lines • 4.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultLineItemSublabel = DefaultLineItemSublabel;
exports.getLabel = getLabel;
const calypso_products_1 = require("@automattic/calypso-products");
const number_formatters_1 = require("@automattic/number-formatters");
const i18n_calypso_1 = require("i18n-calypso");
const is_wpcom_product_renewal_1 = require("./is-wpcom-product-renewal");
function DefaultLineItemSublabel({ product }) {
const isRenewalItem = (0, is_wpcom_product_renewal_1.isWpComProductRenewal)(product);
const { meta, product_name: productName, product_slug: productSlug } = product;
if ((0, calypso_products_1.isDotComPlan)(product)) {
if (isRenewalItem) {
return (0, i18n_calypso_1.translate)('Plan Renewal');
}
}
if ((0, calypso_products_1.isPlan)(product) || (0, calypso_products_1.isJetpackProductSlug)(productSlug)) {
if ((0, calypso_products_1.isP2Plus)(product)) {
return (0, i18n_calypso_1.translate)('Monthly subscription');
}
return isRenewalItem ? (0, i18n_calypso_1.translate)('Plan Renewal') : (0, i18n_calypso_1.translate)('Plan Subscription');
}
if ((0, calypso_products_1.isGoogleWorkspace)(product) || (0, calypso_products_1.isGSuiteOrExtraLicenseProductSlug)(productSlug)) {
if (isRenewalItem) {
return (0, i18n_calypso_1.translate)('Mailboxes and Productivity Tools Renewal');
}
return (0, i18n_calypso_1.translate)('Mailboxes and Productivity Tools');
}
if ((0, calypso_products_1.isTitanMail)(product)) {
if (isRenewalItem) {
return (0, i18n_calypso_1.translate)('Mailboxes Renewal');
}
return (0, i18n_calypso_1.translate)('Mailboxes');
}
if (meta && ((0, calypso_products_1.isDomainProduct)(product) || (0, calypso_products_1.isDomainTransfer)(product))) {
if (!isRenewalItem) {
return productName || '';
}
if (productName) {
return (0, i18n_calypso_1.translate)('%(productName)s Renewal', { args: { productName } });
}
}
if ((0, calypso_products_1.isAddOn)(product) && !isRenewalItem) {
return (0, i18n_calypso_1.translate)('Add-On');
}
if (isRenewalItem) {
return (0, i18n_calypso_1.translate)('Renewal');
}
if ((0, calypso_products_1.isMonthlyProduct)(product)) {
return (0, i18n_calypso_1.translate)('Billed monthly');
}
if ((0, calypso_products_1.isYearly)(product)) {
return (0, i18n_calypso_1.translate)('Billed annually');
}
if ((0, calypso_products_1.isBiennially)(product)) {
return (0, i18n_calypso_1.translate)('Billed every two years');
}
if ((0, calypso_products_1.isTriennially)(product)) {
return (0, i18n_calypso_1.translate)('Billed every three years');
}
return null;
}
function getLabel(product) {
if (product.meta && ((0, calypso_products_1.isDomainProduct)(product) || (0, calypso_products_1.isDomainTransfer)(product))) {
return product.meta;
}
// In theory, it'll fallback to 0, but just in case.
const quantity = product.quantity || product.current_quantity || 0;
if ((0, calypso_products_1.isJetpackAISlug)(product.product_slug) && quantity > 1) {
return (0, i18n_calypso_1.translate)('%(productName)s (%(quantity)d requests per month)', {
args: {
productName: product.product_name,
quantity: quantity,
},
textOnly: true,
});
}
if ((0, calypso_products_1.isJetpackStatsPaidTieredProductSlug)(product.product_slug) && product.quantity) {
return (0, i18n_calypso_1.translate)('%(productName)s - %(quantity)s views per month', {
args: {
productName: product.product_name,
quantity: (0, number_formatters_1.formatNumber)(product.quantity, { decimals: 0 }),
},
textOnly: true,
});
}
if ((0, calypso_products_1.isAkismetPro5h)(product)) {
if (quantity > 1) {
/* translators: %s is the product name "Akismet Pro", %d is a number of requests/month */
return (0, i18n_calypso_1.translate)('%(productName)s (%(requests)d requests/month)', {
args: {
productName: product.product_name.replace(/\s*\(.*$/, '').trim(),
requests: 500 * quantity,
},
textOnly: true,
});
}
}
return product.product_name || '';
}
//# sourceMappingURL=checkout-labels.js.map