import getMeta from '@/utils/meta' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { Card, Row, Col } from 'react-bootstrap-5' import MaterialIcon from '@/shared/components/material-icon' import { formatCurrency } from '@/shared/utils/currency' export const LICENSE_ADD_ON = 'additional-license' function UpgradeSubscriptionPlanDetails() { const { t } = useTranslation() const preview = getMeta('ol-subscriptionChangePreview') const totalLicenses = getMeta('ol-totalLicenses') const licenseUnitPrice = useMemo(() => { const additionalLicenseAddOn = preview.nextInvoice.addOns.filter( addOn => addOn.code === LICENSE_ADD_ON ) // Legacy plans might not have additional-license add-on. // Hence we need to compute unit price return additionalLicenseAddOn.length > 0 ? additionalLicenseAddOn[0].unitAmount : preview.nextInvoice.plan.amount / totalLicenses }, [ preview.nextInvoice.addOns, preview.nextInvoice.plan.amount, totalLicenses, ]) return ( {preview.nextInvoice.plan.name} {formatCurrency( licenseUnitPrice, preview.currency, getMeta('ol-i18n')?.currentLangCode ?? 'en', true )}
{t('per_license')}
{t('billed_yearly')}
{t('all_features_in_group_standard_plus')}
{t('unlimited_collaborators_per_project')}
{t('sso')}
{t('managed_user_accounts')}
) } export default UpgradeSubscriptionPlanDetails