import getMeta from '@/utils/meta' import { postJSON } from '@/infrastructure/fetch-json' import { useTranslation, Trans } from 'react-i18next' import { Card, Row, Col } from 'react-bootstrap-5' import IconButton from '@/features/ui/components/bootstrap-5/icon-button' import Button from '@/features/ui/components/bootstrap-5/button' import UpgradeSubscriptionPlanDetails from './upgrade-subscription-plan-details' import useAsync from '@/shared/hooks/use-async' import RequestStatus from '../request-status' import UpgradeSummary, { SubscriptionChange, } from './upgrade-subscription-upgrade-summary' import { debugConsole } from '@/utils/debugging' import { sendMB } from '../../../../infrastructure/event-tracking' function UpgradeSubscription() { const { t } = useTranslation() const groupName = getMeta('ol-groupName') const preview = getMeta('ol-subscriptionChangePreview') as SubscriptionChange const { isError, runAsync, isSuccess, isLoading } = useAsync() const onSubmit = () => { sendMB('flex-upgrade-form', { action: 'click-upgrade-button', }) runAsync(postJSON('/user/subscription/group/upgrade-subscription')) .then(() => { sendMB('flex-upgrade-success') }) .catch(() => { debugConsole.error() sendMB('flex-upgrade-error') }) } if (isSuccess) { return ( ) } if (isError) { return ( { sendMB('flex-upgrade-form', { action: 'click-get-in-touch-link', }) }} />, ]} /> } /> ) } return ( {groupName || t('group_subscription')} {t('upgrade_your_subscription')} , /* eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-key */ , ]} /> sendMB('flex-add-users')} > {t('add_more_licenses_to_my_plan')} { sendMB('flex-upgrade-form', { action: 'click-cancel-button', }) }} > {t('cancel')} {t('upgrade')} ) } export default UpgradeSubscription
, /* eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-key */ , ]} />