UNPKG

@automattic/wpcom-checkout

Version:
97 lines 3.87 kB
import { isAddOn, isPlan, isDomainTransfer, isDomainProduct, isDotComPlan, isGoogleWorkspace, isGSuiteOrExtraLicenseProductSlug, isTitanMail, isP2Plus, isJetpackProductSlug, isMonthlyProduct, isYearly, isBiennially, isTriennially, isJetpackAISlug, isJetpackStatsPaidTieredProductSlug, isAkismetPro5h, } from '@automattic/calypso-products'; import { formatNumber } from '@automattic/number-formatters'; import { translate } from 'i18n-calypso'; import { isWpComProductRenewal as isRenewal } from './is-wpcom-product-renewal'; export function DefaultLineItemSublabel({ product }) { const isRenewalItem = isRenewal(product); const { meta, product_name: productName, product_slug: productSlug } = product; if (isDotComPlan(product)) { if (isRenewalItem) { return translate('Plan Renewal'); } } if (isPlan(product) || isJetpackProductSlug(productSlug)) { if (isP2Plus(product)) { return translate('Monthly subscription'); } return isRenewalItem ? translate('Plan Renewal') : translate('Plan Subscription'); } if (isGoogleWorkspace(product) || isGSuiteOrExtraLicenseProductSlug(productSlug)) { if (isRenewalItem) { return translate('Mailboxes and Productivity Tools Renewal'); } return translate('Mailboxes and Productivity Tools'); } if (isTitanMail(product)) { if (isRenewalItem) { return translate('Mailboxes Renewal'); } return translate('Mailboxes'); } if (meta && (isDomainProduct(product) || isDomainTransfer(product))) { if (!isRenewalItem) { return productName || ''; } if (productName) { return translate('%(productName)s Renewal', { args: { productName } }); } } if (isAddOn(product) && !isRenewalItem) { return translate('Add-On'); } if (isRenewalItem) { return translate('Renewal'); } if (isMonthlyProduct(product)) { return translate('Billed monthly'); } if (isYearly(product)) { return translate('Billed annually'); } if (isBiennially(product)) { return translate('Billed every two years'); } if (isTriennially(product)) { return translate('Billed every three years'); } return null; } export function getLabel(product) { if (product.meta && (isDomainProduct(product) || 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 (isJetpackAISlug(product.product_slug) && quantity > 1) { return translate('%(productName)s (%(quantity)d requests per month)', { args: { productName: product.product_name, quantity: quantity, }, textOnly: true, }); } if (isJetpackStatsPaidTieredProductSlug(product.product_slug) && product.quantity) { return translate('%(productName)s - %(quantity)s views per month', { args: { productName: product.product_name, quantity: formatNumber(product.quantity, { decimals: 0 }), }, textOnly: true, }); } if (isAkismetPro5h(product)) { if (quantity > 1) { /* translators: %s is the product name "Akismet Pro", %d is a number of requests/month */ return 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