diff --git a/src/locales/en-US/resources.ts b/src/locales/en-US/resources.ts index 63d50653..c25642a9 100644 --- a/src/locales/en-US/resources.ts +++ b/src/locales/en-US/resources.ts @@ -109,5 +109,8 @@ export default { 'No available clusters. Please create a cluster before adding a node.', 'resources.metrics.details': 'Monitoring', 'resoureces.worker.upgrade.tips': - 'Please upgrade to match the GPUStack Server version.' + 'Please upgrade to match the GPUStack Server version.', + 'resources.worker.version': 'Worker Version', + 'resources.worker.currentVersion': 'Current Version: {version}', + 'resources.worker.targetVersion': 'Target Version: {version}', }; diff --git a/src/locales/ja-JP/resources.ts b/src/locales/ja-JP/resources.ts index 405b028a..e033294e 100644 --- a/src/locales/ja-JP/resources.ts +++ b/src/locales/ja-JP/resources.ts @@ -110,7 +110,10 @@ export default { 'No available clusters. Please create a cluster before adding a node.', 'resources.metrics.details': 'Monitoring', 'resoureces.worker.upgrade.tips': - 'Please upgrade to match the GPUStack Server version.' + 'Please upgrade to match the GPUStack Server version.', + 'resources.worker.version': 'Worker Version', + 'resources.worker.currentVersion': 'Current Version: {version}', + 'resources.worker.targetVersion': 'Target Version: {version}' }; // ========== To-Do: Translate Keys (Remove After Translation) ========== diff --git a/src/locales/ru-RU/resources.ts b/src/locales/ru-RU/resources.ts index 8e9a4362..52eb5ae9 100644 --- a/src/locales/ru-RU/resources.ts +++ b/src/locales/ru-RU/resources.ts @@ -108,7 +108,10 @@ export default { 'No available clusters. Please create a cluster before adding a node.', 'resources.metrics.details': 'Monitoring', 'resoureces.worker.upgrade.tips': - 'Please upgrade to match the GPUStack Server version.' + 'Please upgrade to match the GPUStack Server version.', + 'resources.worker.version': 'Worker Version', + 'resources.worker.currentVersion': 'Current Version: {version}', + 'resources.worker.targetVersion': 'Target Version: {version}' }; // ========== To-Do: Translate Keys (Remove After Translation) ========== diff --git a/src/locales/tr-TR/resources.ts b/src/locales/tr-TR/resources.ts index a00d684a..4be984d5 100644 --- a/src/locales/tr-TR/resources.ts +++ b/src/locales/tr-TR/resources.ts @@ -108,7 +108,10 @@ export default { 'Kullanılabilir küme yok. Lütfen düğüm eklemeden önce bir küme oluşturun.', 'resources.metrics.details': 'İzleme', 'resoureces.worker.upgrade.tips': - 'Please upgrade to match the GPUStack Server version.' + 'Please upgrade to match the GPUStack Server version.', + 'resources.worker.version': 'Worker Version', + 'resources.worker.currentVersion': 'Current Version: {version}', + 'resources.worker.targetVersion': 'Target Version: {version}' }; // ========== To-Do: Translate Keys (Remove After Translation) ========== diff --git a/src/locales/zh-CN/resources.ts b/src/locales/zh-CN/resources.ts index 2d52784d..6e508130 100644 --- a/src/locales/zh-CN/resources.ts +++ b/src/locales/zh-CN/resources.ts @@ -104,5 +104,8 @@ export default { '进入维护模式后,节点将停止调度新的模型实例部署任务,正在运行的实例不会受到影响。', 'resources.worker.noCluster.tips': '当前无可用集群,请先创建集群再添加节点。', 'resources.metrics.details': '监控', - 'resoureces.worker.upgrade.tips': '请升级到与 GPUStack Server 版本一致。' + 'resoureces.worker.upgrade.tips': '请升级到与 GPUStack Server 版本一致。', + 'resources.worker.version': '节点版本', + 'resources.worker.currentVersion': '当前版本: {version}', + 'resources.worker.targetVersion': '目标版本: {version}' }; diff --git a/src/pages/resources/hooks/use-worker-columns.tsx b/src/pages/resources/hooks/use-worker-columns.tsx index 0edfe78a..3066cc4a 100644 --- a/src/pages/resources/hooks/use-worker-columns.tsx +++ b/src/pages/resources/hooks/use-worker-columns.tsx @@ -19,7 +19,7 @@ import { ToolOutlined } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; -import { Tag, Tooltip } from 'antd'; +import { Tooltip } from 'antd'; import { ColumnsType } from 'antd/lib/table'; import { useAtom, useAtomValue } from 'jotai'; import _ from 'lodash'; @@ -296,6 +296,80 @@ const useWorkerColumns = ({ }); }; + const renderVersionInfo = (record: ListItem) => { + const shouldUpgrade = showUpgrade(record.worker_version, version.version); + + const defaultVersionInfo = ( + + {intl.formatMessage({ id: 'resources.worker.version' })}: + {version.version} + + ); + + const upgradeVersionInfo = ( + + + {intl.formatMessage( + { id: 'resources.worker.currentVersion' }, + { version: record.worker_version } + )} + + + {intl.formatMessage( + { id: 'resources.worker.targetVersion' }, + { version: version.version } + )} + + + ); + + return ( + + {shouldUpgrade && ( + + {intl.formatMessage({ + id: 'resoureces.worker.upgrade.tips' + })} + + )} + {shouldUpgrade ? upgradeVersionInfo : defaultVersionInfo} + + + {intl.formatMessage({ + id: 'benchmark.env.driverVersion' + })} + : + + {_.get(record, 'status.gpu_devices[0].driver_version')} + + + } + > + {shouldUpgrade ? ( + + ) : ( + + )} + + ); + }; + return useMemo>( () => [ { @@ -308,36 +382,7 @@ const useWorkerColumns = ({ {text} -
- - - {version.version} - {showUpgrade(record.worker_version, version.version) && ( - - )} - - - - {intl.formatMessage({ - id: 'benchmark.env.driverVersion' - })} - : {_.get(record, 'status.gpu_devices[0].driver_version')} - - } - > - - {_.get(record, 'status.gpu_devices[0].driver_version', '')} - - -
+ {renderVersionInfo(record)} ) }, diff --git a/src/pages/resources/styles/worker.less b/src/pages/resources/styles/worker.less index 97e6365d..ce31fe45 100644 --- a/src/pages/resources/styles/worker.less +++ b/src/pages/resources/styles/worker.less @@ -1,6 +1,6 @@ .name { display: flex; - flex-direction: column; + align-items: center; gap: 4px; .worker-version {