import {createInterpolateElement} from '@wordpress/element'; import {__} from '@wordpress/i18n'; import {subscriptionPeriod, SubscriptionPeriod} from "../registrars/templates/groups/DonationAmount/subscriptionPeriod"; /** * Returns the donor-facing message for a fixed amount donation. * * @since 3.0.0 */ export function OneTimeAmountMessage({amount}: {amount: string}) { return createInterpolateElement(__('This donation is ', 'give'), { amount: {amount}, }); } /** * Returns the donor-facing message for a recurring donation. * * @since 3.0.0 */ export function RecurringAmountMessage({ isFixedAmount, fixedAmount, period, frequency, installments, }: { isFixedAmount: boolean; fixedAmount: string; period: subscriptionPeriod; frequency: number; installments: number; }) { const subscriptionPeriod = new SubscriptionPeriod(period); const translatableString = !installments ? __('This donation every .', 'give') : __('This donation every for .', 'give'); return createInterpolateElement(translatableString, { amount: isFixedAmount ? ( {__('is', 'give')} {fixedAmount} ) : ( {__('repeats', 'give')} ), period: {subscriptionPeriod.label().get(frequency)}, count: {installments}, donations: {__('donations', 'give')}, }); }