From 8e31b716686c45cf76c28c56cbf5d163df862d78 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 3 Jun 2026 16:33:05 +0800 Subject: [PATCH] chore: merge cluster menu to resource --- config/routes.ts | 51 +++++++------------ src/layouts/index.tsx | 6 +-- src/locales/en-US/menu.ts | 9 ++-- src/locales/ja-JP/menu.ts | 9 ++-- src/locales/ru-RU/menu.ts | 9 ++-- src/locales/tr-TR/menu.ts | 9 ++-- src/locales/zh-CN/menu.ts | 9 ++-- src/pages/cluster-management/clusters.tsx | 4 +- .../components/cloud-provider-form.tsx | 2 +- .../dashboard/hooks/use-add-resource.tsx | 4 +- src/pages/gpu-service/instances/index.tsx | 2 +- .../llmodels/hooks/use-no-resource-result.tsx | 4 +- 12 files changed, 49 insertions(+), 69 deletions(-) diff --git a/config/routes.ts b/config/routes.ts index c4e0e42b..13ae0e06 100644 --- a/config/routes.ts +++ b/config/routes.ts @@ -291,6 +291,16 @@ const baseRoutes = [ path: '/resources', redirect: '/resources/workers' }, + { + name: 'clusters', + path: '/resources/clusters/list', + key: 'clusters', + icon: 'icon-cluster2-outline', + selectedIcon: 'icon-cluster2-filled', + defaultIcon: 'icon-cluster2-outline', + component: './cluster-management/clusters', + subMenu: ['/resources/clusters/detail', '/resources/clusters/create'] + }, { name: 'workers', path: '/resources/workers', @@ -308,50 +318,25 @@ const baseRoutes = [ selectedIcon: 'icon-gpu-filled', defaultIcon: 'icon-gpu1', component: './resources/components/gpus' - } - ] - }, - { - name: 'clusterManagement', - path: '/cluster-management', - key: 'clusterManagement', - access: 'canSeeOrgAdmin', - routes: [ - { - path: '/cluster-management', - redirect: '/cluster-management/clusters/list' }, { - name: 'clusters', - path: '/cluster-management/clusters/list', - key: 'clusters', - icon: 'icon-cluster2-outline', - selectedIcon: 'icon-cluster2-filled', - defaultIcon: 'icon-cluster2-outline', - component: './cluster-management/clusters', - subMenu: [ - '/cluster-management/clusters/detail', - '/cluster-management/clusters/create' - ] + name: 'credentials', + path: '/resources/credentials', + key: 'credentials', + icon: 'icon-credential-outline', + selectedIcon: 'icon-credential-filled', + defaultIcon: 'icon-credential-outline', + component: './cluster-management/credentials' }, { name: 'clusterDetail', - path: '/cluster-management/clusters/detail', + path: '/resources/clusters/detail', key: 'clusterDetail', icon: 'icon-cluster2-outline', selectedIcon: 'icon-cluster2-filled', defaultIcon: 'icon-cluster2-outline', hideInMenu: true, component: './cluster-management/cluster-detail' - }, - { - name: 'credentials', - path: '/cluster-management/credentials', - key: 'credentials', - icon: 'icon-credential-outline', - selectedIcon: 'icon-credential-filled', - defaultIcon: 'icon-credential-outline', - component: './cluster-management/credentials' } ] }, diff --git a/src/layouts/index.tsx b/src/layouts/index.tsx index 5872276f..d3ff93b9 100644 --- a/src/layouts/index.tsx +++ b/src/layouts/index.tsx @@ -68,9 +68,9 @@ const NO_CONTAINER_PAGES = [ const CHECK_RESOURCE_PATH = [ '/resources/workers', - '/cluster-management/clusters/list', - '/cluster-management/credentials', - '/cluster-management/clusters/create' + '/resources/clusters/list', + '/resources/credentials', + '/resources/clusters/create' ]; type NewRoute = IRoute & { diff --git a/src/locales/en-US/menu.ts b/src/locales/en-US/menu.ts index f9499168..e4efedbe 100644 --- a/src/locales/en-US/menu.ts +++ b/src/locales/en-US/menu.ts @@ -38,11 +38,10 @@ export default { 'menu.billingAndUsage': 'Billing & Usage', 'menu.billingAndUsage.usage': 'Usage', 'menu.404': '404', - 'menu.clusterManagement': 'Cluster Management', - 'menu.clusterManagement.clusters': 'Clusters', - 'menu.clusterManagement.credentials': 'Cloud Credentials', - 'menu.clusterManagement.clusterDetail': 'Cluster Detail', - 'menu.clusterManagement.clusterCreate': 'Create Cluster', + 'menu.resources.clusters': 'Clusters', + 'menu.resources.credentials': 'Cloud Credentials', + 'menu.resources.clusterDetail': 'Cluster Detail', + 'menu.resources.clusterCreate': 'Create Cluster', 'menu.models.backendsList': 'Inference Backends', 'menu.gpuService': 'GPU Service', 'menu.gpuService.instances': 'GPU Instances', diff --git a/src/locales/ja-JP/menu.ts b/src/locales/ja-JP/menu.ts index 63b21bb5..c84e0575 100644 --- a/src/locales/ja-JP/menu.ts +++ b/src/locales/ja-JP/menu.ts @@ -37,12 +37,11 @@ export default { 'menu.accessControl': 'Access Control', 'menu.accessControl.apikeys': 'API Keys', 'menu.accessControl.users': 'Users', - 'menu.clusterManagement': 'Cluster Management', - 'menu.clusterManagement.clusters': 'Clusters', - 'menu.clusterManagement.credentials': 'Cloud Credentials', + 'menu.resources.clusters': 'Clusters', + 'menu.resources.credentials': 'Cloud Credentials', 'menu.models.userModels': 'My Models', - 'menu.clusterManagement.clusterDetail': 'Cluster Detail', - 'menu.clusterManagement.clusterCreate': 'Create Cluster', + 'menu.resources.clusterDetail': 'Cluster Detail', + 'menu.resources.clusterCreate': 'Create Cluster', 'menu.models.backendsList': 'Inference Backends', 'menu.gpuService': 'GPU Service', 'menu.gpuService.instances': 'GPU Instances', diff --git a/src/locales/ru-RU/menu.ts b/src/locales/ru-RU/menu.ts index f5e387d3..525b7ca5 100644 --- a/src/locales/ru-RU/menu.ts +++ b/src/locales/ru-RU/menu.ts @@ -36,12 +36,11 @@ export default { 'menu.accessControl': 'Управление доступом', 'menu.accessControl.apikeys': 'API Ключи', 'menu.accessControl.users': 'Пользователи', - 'menu.clusterManagement': 'Управление кластерами', - 'menu.clusterManagement.clusters': 'Кластеры', - 'menu.clusterManagement.credentials': 'Облачные аккаунты', + 'menu.resources.clusters': 'Кластеры', + 'menu.resources.credentials': 'Облачные аккаунты', 'menu.models.userModels': 'Мои модели', - 'menu.clusterManagement.clusterDetail': 'Детали кластера', - 'menu.clusterManagement.clusterCreate': 'Создать кластер', + 'menu.resources.clusterDetail': 'Детали кластера', + 'menu.resources.clusterCreate': 'Создать кластер', 'menu.models.backendsList': 'Бэкенды запуска', 'menu.settings': 'Settings', 'menu.gpuService': 'GPU Service', diff --git a/src/locales/tr-TR/menu.ts b/src/locales/tr-TR/menu.ts index 1b46b204..ef54de7d 100644 --- a/src/locales/tr-TR/menu.ts +++ b/src/locales/tr-TR/menu.ts @@ -36,11 +36,10 @@ export default { 'menu.billingAndUsage': 'Faturalandırma ve Kullanım', 'menu.billingAndUsage.usage': 'Kullanım', 'menu.404': '404', - 'menu.clusterManagement': 'Küme Yönetimi', - 'menu.clusterManagement.clusters': 'Kümeler', - 'menu.clusterManagement.credentials': 'Bulut Kimlik Bilgileri', - 'menu.clusterManagement.clusterDetail': 'Küme Detayı', - 'menu.clusterManagement.clusterCreate': 'Küme Oluştur', + 'menu.resources.clusters': 'Kümeler', + 'menu.resources.credentials': 'Bulut Kimlik Bilgileri', + 'menu.resources.clusterDetail': 'Küme Detayı', + 'menu.resources.clusterCreate': 'Küme Oluştur', 'menu.models.backendsList': 'Çıkarım Altyapıları', 'menu.models.instances': 'Instances', 'menu.settings': 'Settings', diff --git a/src/locales/zh-CN/menu.ts b/src/locales/zh-CN/menu.ts index e43066ef..3237ccca 100644 --- a/src/locales/zh-CN/menu.ts +++ b/src/locales/zh-CN/menu.ts @@ -38,11 +38,10 @@ export default { 'menu.accessControl': '访问控制', 'menu.accessControl.apikeys': 'API 密钥', 'menu.accessControl.users': '用户', - 'menu.clusterManagement': '集群管理', - 'menu.clusterManagement.clusters': '集群', - 'menu.clusterManagement.credentials': '云凭证', - 'menu.clusterManagement.clusterDetail': '集群详情', - 'menu.clusterManagement.clusterCreate': '创建集群', + 'menu.resources.clusters': '集群', + 'menu.resources.credentials': '云凭证', + 'menu.resources.clusterDetail': '集群详情', + 'menu.resources.clusterCreate': '创建集群', 'menu.models.backendsList': '推理后端', 'menu.gpuService': 'GPU 服务', 'menu.gpuService.instances': 'GPU 实例', diff --git a/src/pages/cluster-management/clusters.tsx b/src/pages/cluster-management/clusters.tsx index bd5dceb3..4e1d1df7 100644 --- a/src/pages/cluster-management/clusters.tsx +++ b/src/pages/cluster-management/clusters.tsx @@ -271,7 +271,7 @@ const Clusters: React.FC = () => { const handleOnCell = useMemoizedFn((record: ClusterListItem, dataIndex) => { if (dataIndex === 'name') { navigate( - `/cluster-management/clusters/detail?id=${record.id}&name=${record.name}&page=clusters` + `/resources/clusters/detail?id=${record.id}&name=${record.name}&page=clusters` ); } }); @@ -461,7 +461,7 @@ const Clusters: React.FC = () => { { }; return ( - + {intl.formatMessage({ id: 'clusters.button.addCredential' })} ); diff --git a/src/pages/dashboard/hooks/use-add-resource.tsx b/src/pages/dashboard/hooks/use-add-resource.tsx index 3fe0936a..a78fbf93 100644 --- a/src/pages/dashboard/hooks/use-add-resource.tsx +++ b/src/pages/dashboard/hooks/use-add-resource.tsx @@ -104,7 +104,7 @@ export default function useAddResource(options?: { onCreated?: () => void }) { firstAddCluster: true }); - navigate(`/cluster-management/clusters/list`); + navigate(`/resources/clusters/list`); return; } @@ -113,7 +113,7 @@ export default function useAddResource(options?: { onCreated?: () => void }) { firstAddWorker: true, firstAddCluster: false }); - navigate(`/cluster-management/clusters/list`); + navigate(`/resources/clusters/list`); } }; diff --git a/src/pages/gpu-service/instances/index.tsx b/src/pages/gpu-service/instances/index.tsx index 8f7331c0..c816e47e 100644 --- a/src/pages/gpu-service/instances/index.tsx +++ b/src/pages/gpu-service/instances/index.tsx @@ -41,7 +41,7 @@ const GPUService: React.FC = () => { firstAddCluster: true, providerHint: ProviderValueMap.Kubernetes }); - navigate('/cluster-management/clusters/list'); + navigate('/resources/clusters/list'); }; const { diff --git a/src/pages/llmodels/hooks/use-no-resource-result.tsx b/src/pages/llmodels/hooks/use-no-resource-result.tsx index d0158aa5..2e274a26 100644 --- a/src/pages/llmodels/hooks/use-no-resource-result.tsx +++ b/src/pages/llmodels/hooks/use-no-resource-result.tsx @@ -52,7 +52,7 @@ const useNoResourceResult = (props: { firstAddCluster: true }); - navigate(`/cluster-management/clusters/list`); + navigate(`/resources/clusters/list`); return; } @@ -61,7 +61,7 @@ const useNoResourceResult = (props: { firstAddWorker: true, firstAddCluster: false }); - navigate(`/cluster-management/clusters/list`); + navigate(`/resources/clusters/list`); } });