import { useTranslation } from 'react-i18next' import { Card, ListGroup } from 'react-bootstrap-5' import { formatCurrency } from '@/shared/utils/currency' import { formatTime } from '@/features/utils/format-date' import { GroupPlanUpgrade, SubscriptionChangePreview, } from '../../../../../../types/subscription/subscription-change-preview' import { MergeAndOverride } from '../../../../../../types/utils' import getMeta from '@/utils/meta' export type SubscriptionChange = MergeAndOverride< SubscriptionChangePreview, { change: GroupPlanUpgrade } > type UpgradeSummaryProps = { subscriptionChange: SubscriptionChange } function UpgradeSummary({ subscriptionChange }: UpgradeSummaryProps) { const { t } = useTranslation() const totalLicenses = getMeta('ol-totalLicenses') return (
{t('upgrade_summary')}
{t('you_have_x_licenses_on_your_subscription', { groupSize: totalLicenses, })}
{subscriptionChange.nextInvoice.plan.name} x {totalLicenses}{' '} {t('licenses')} {formatCurrency( subscriptionChange.immediateCharge.subtotal, subscriptionChange.currency )} {subscriptionChange.immediateCharge.discount !== 0 && ( {t('discount')} ( {formatCurrency( subscriptionChange.immediateCharge.discount, subscriptionChange.currency )} ) )} {t('vat')} {formatCurrency( subscriptionChange.immediateCharge.tax, subscriptionChange.currency )} {t('total_due_today')} {formatCurrency( subscriptionChange.immediateCharge.total, subscriptionChange.currency )}
{t( 'we_will_charge_you_now_for_your_new_plan_based_on_the_remaining_months_of_your_current_subscription' )}
{t( 'after_that_well_bill_you_x_total_y_subtotal_z_tax_annually_on_date_unless_you_cancel', { totalAmount: formatCurrency( subscriptionChange.nextInvoice.total, subscriptionChange.currency ), subtotalAmount: formatCurrency( subscriptionChange.nextInvoice.subtotal, subscriptionChange.currency ), taxAmount: formatCurrency( subscriptionChange.nextInvoice.tax.amount, subscriptionChange.currency ), date: formatTime(subscriptionChange.nextInvoice.date, 'MMMM D'), } )} {subscriptionChange.immediateCharge.discount !== 0 && ` ${t('coupons_not_included')}.`}
) } export default UpgradeSummary