diff --git a/config/routes.ts b/config/routes.ts index f8e5892e..7b70b831 100644 --- a/config/routes.ts +++ b/config/routes.ts @@ -346,6 +346,7 @@ const baseRoutes = [ icon: 'icon-billing-outlined', selectedIcon: 'icon-billing-filled', defaultIcon: 'icon-billing-outlined', + hideInMenu: process.env.ENABLE_ENTERPRISE === 'true', // OSS exposes the menu as a teaser for the enterprise billing // module. The page itself just renders an upsell notice — the real // billing UI lives in the enterprise plugin and shadows this route diff --git a/src/locales/en-US/billing.ts b/src/locales/en-US/billing.ts index fce9470a..5fa6c7c9 100644 --- a/src/locales/en-US/billing.ts +++ b/src/locales/en-US/billing.ts @@ -1,7 +1,7 @@ export default { 'billing.upsell.title': 'Billing is an Enterprise feature', 'billing.upsell.subtitle': - 'Upgrade to GPUStack Enterprise to manage billing.', + 'Track spend, generate invoices, and enforce budgets across teams. Upgrade to GPUStack Enterprise to manage billing.', 'billing.upsell.featuresTitle': 'What you get in Enterprise', 'billing.upsell.feature.usage': 'See cost breakdowns by organization, user, and model', diff --git a/src/locales/ja-JP/billing.ts b/src/locales/ja-JP/billing.ts index fce9470a..5fa6c7c9 100644 --- a/src/locales/ja-JP/billing.ts +++ b/src/locales/ja-JP/billing.ts @@ -1,7 +1,7 @@ export default { 'billing.upsell.title': 'Billing is an Enterprise feature', 'billing.upsell.subtitle': - 'Upgrade to GPUStack Enterprise to manage billing.', + 'Track spend, generate invoices, and enforce budgets across teams. Upgrade to GPUStack Enterprise to manage billing.', 'billing.upsell.featuresTitle': 'What you get in Enterprise', 'billing.upsell.feature.usage': 'See cost breakdowns by organization, user, and model', diff --git a/src/locales/ru-RU/billing.ts b/src/locales/ru-RU/billing.ts index fce9470a..5fa6c7c9 100644 --- a/src/locales/ru-RU/billing.ts +++ b/src/locales/ru-RU/billing.ts @@ -1,7 +1,7 @@ export default { 'billing.upsell.title': 'Billing is an Enterprise feature', 'billing.upsell.subtitle': - 'Upgrade to GPUStack Enterprise to manage billing.', + 'Track spend, generate invoices, and enforce budgets across teams. Upgrade to GPUStack Enterprise to manage billing.', 'billing.upsell.featuresTitle': 'What you get in Enterprise', 'billing.upsell.feature.usage': 'See cost breakdowns by organization, user, and model', diff --git a/src/locales/tr-TR/billing.ts b/src/locales/tr-TR/billing.ts index fce9470a..5fa6c7c9 100644 --- a/src/locales/tr-TR/billing.ts +++ b/src/locales/tr-TR/billing.ts @@ -1,7 +1,7 @@ export default { 'billing.upsell.title': 'Billing is an Enterprise feature', 'billing.upsell.subtitle': - 'Upgrade to GPUStack Enterprise to manage billing.', + 'Track spend, generate invoices, and enforce budgets across teams. Upgrade to GPUStack Enterprise to manage billing.', 'billing.upsell.featuresTitle': 'What you get in Enterprise', 'billing.upsell.feature.usage': 'See cost breakdowns by organization, user, and model', diff --git a/src/locales/zh-CN/billing.ts b/src/locales/zh-CN/billing.ts index 935cbd3d..71e9e8b7 100644 --- a/src/locales/zh-CN/billing.ts +++ b/src/locales/zh-CN/billing.ts @@ -1,6 +1,7 @@ export default { 'billing.upsell.title': '计费是企业版功能', - 'billing.upsell.subtitle': '升级到 GPUStack 企业版即可管理计费。', + 'billing.upsell.subtitle': + '在团队间跟踪花费、生成账单并执行预算。升级到 GPUStack 企业版即可管理计费。', 'billing.upsell.featuresTitle': '企业版包含的能力', 'billing.upsell.feature.usage': '按组织、用户与模型查看成本明细', 'billing.upsell.feature.invoices': '生成账单并导出计费报表', diff --git a/src/pages/billing/index.tsx b/src/pages/billing/index.tsx index ecb0e477..7268fc9d 100644 --- a/src/pages/billing/index.tsx +++ b/src/pages/billing/index.tsx @@ -1,6 +1,6 @@ import { IconFont } from '@gpustack/core-ui'; import { useIntl } from '@umijs/max'; -import { Button, Result } from 'antd'; +import { Button, Result, Typography } from 'antd'; import PageBox from '../_components/page-box'; // OSS-only upsell page for the billing module. The real Billing UI ships @@ -47,7 +47,7 @@ const Billing: React.FC = () => { textAlign: 'left' }} > - {/* + {intl.formatMessage({ id: 'billing.upsell.featuresTitle' })} @@ -58,7 +58,7 @@ const Billing: React.FC = () => { {intl.formatMessage({ id })} ))} - */} +