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')},
});
}