|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
// Copyright (C) 2020-2022 Intel Corporation
|
|
|
|
|
// Copyright (C) 2022 CVAT.ai Corporation
|
|
|
|
|
// Copyright (C) 2022-2023 CVAT.ai Corporation
|
|
|
|
|
//
|
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
|
|
@ -33,7 +33,7 @@ import Select from 'antd/lib/select';
|
|
|
|
|
import { getCore } from 'cvat-core-wrapper';
|
|
|
|
|
import config from 'config';
|
|
|
|
|
|
|
|
|
|
import { CVATLogo } from 'icons';
|
|
|
|
|
import { CVATLogo, UpgradeIcon } from 'icons';
|
|
|
|
|
import ChangePasswordDialog from 'components/change-password-modal/change-password-modal';
|
|
|
|
|
import CVATTooltip from 'components/common/cvat-tooltip';
|
|
|
|
|
import { switchSettingsDialog as switchSettingsDialogAction } from 'actions/settings-actions';
|
|
|
|
|
@ -163,7 +163,7 @@ function HeaderContainer(props: Props): JSX.Element {
|
|
|
|
|
} = props;
|
|
|
|
|
|
|
|
|
|
const {
|
|
|
|
|
CHANGELOG_URL, LICENSE_URL, GITTER_URL, GITHUB_URL, GUIDE_URL, DISCORD_URL,
|
|
|
|
|
CHANGELOG_URL, LICENSE_URL, GITTER_URL, GITHUB_URL, GUIDE_URL, DISCORD_URL, CVAT_BILLING_URL,
|
|
|
|
|
} = config;
|
|
|
|
|
|
|
|
|
|
const history = useHistory();
|
|
|
|
|
@ -245,6 +245,26 @@ function HeaderContainer(props: Props): JSX.Element {
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
let upgradeMenuItem = null;
|
|
|
|
|
if (CVAT_BILLING_URL) {
|
|
|
|
|
let upgradeText = 'Upgrade to Pro';
|
|
|
|
|
let upgradeLink = `${CVAT_BILLING_URL}/?type=personal`;
|
|
|
|
|
if (currentOrganization) {
|
|
|
|
|
upgradeText = 'Upgrade to Team';
|
|
|
|
|
upgradeLink = `${CVAT_BILLING_URL}/?type=organization&orgId=${currentOrganization.id}`;
|
|
|
|
|
}
|
|
|
|
|
upgradeMenuItem = (
|
|
|
|
|
<Menu.Item
|
|
|
|
|
className='cvat-menu-item-highlighted'
|
|
|
|
|
icon={<UpgradeIcon />}
|
|
|
|
|
key='upgrade'
|
|
|
|
|
onClick={() => window.open(upgradeLink, '_self')}
|
|
|
|
|
>
|
|
|
|
|
{upgradeText}
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const userMenu = (
|
|
|
|
|
<Menu className='cvat-header-menu'>
|
|
|
|
|
{user.isStaff && (
|
|
|
|
|
@ -345,6 +365,9 @@ function HeaderContainer(props: Props): JSX.Element {
|
|
|
|
|
>
|
|
|
|
|
Settings
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
{
|
|
|
|
|
upgradeMenuItem
|
|
|
|
|
}
|
|
|
|
|
<Menu.Item icon={<InfoCircleOutlined />} key='about' onClick={() => showAboutModal()}>
|
|
|
|
|
About
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
|