refactor(proxy-nodes): 移除节点列表的 rollout 升级标签展示

This commit is contained in:
fawney19
2026-04-20 00:31:30 +08:00
parent c1b9d94c84
commit c2b7b6c231

View File

@@ -191,13 +191,6 @@
> >
{{ nodeSchedulingBadge(node)!.label }} {{ nodeSchedulingBadge(node)!.label }}
</Badge> </Badge>
<Badge
v-if="nodeRolloutBadge(node)"
:variant="nodeRolloutBadge(node)!.variant"
class="text-[10px] px-1.5 py-0"
>
{{ nodeRolloutBadge(node)!.label }}
</Badge>
<HardwareTooltip :node="node" /> <HardwareTooltip :node="node" />
</div> </div>
</TableCell> </TableCell>
@@ -348,17 +341,6 @@
> >
版本: {{ nodeProxyVersion(node) }} 版本: {{ nodeProxyVersion(node) }}
</div> </div>
<div
v-if="nodeRolloutBadge(node)"
class="mt-1"
>
<Badge
:variant="nodeRolloutBadge(node)!.variant"
class="text-[10px] px-1.5 py-0"
>
{{ nodeRolloutBadge(node)!.label }}
</Badge>
</div>
</div> </div>
<Badge <Badge
:variant="statusVariant(node.status)" :variant="statusVariant(node.status)"
@@ -1244,24 +1226,6 @@ function nodeProxyVersion(node: ProxyNode) {
type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'dark' type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'dark'
function normalizeVersion(value: string | null | undefined) {
const trimmed = (value || '').trim().toLowerCase()
return trimmed.startsWith('proxy-v') ? trimmed.slice('proxy-v'.length) : trimmed
}
function nodeRolloutBadge(node: ProxyNode): { label: string; variant: BadgeVariant } | null {
if (node.is_manual || !node.tunnel_mode) return null
const rawTarget = node.remote_config?.upgrade_to?.trim()
if (!rawTarget) return null
const targetVersion = normalizeVersion(rawTarget)
const currentVersion = normalizeVersion(nodeProxyVersion(node))
if (targetVersion && currentVersion && targetVersion === currentVersion) {
return { label: `目标版本 ${rawTarget}`, variant: 'success' }
}
return { label: `待升级 ${rawTarget}`, variant: 'warning' }
}
function nodeSchedulingBadge(node: ProxyNode): { label: string; variant: BadgeVariant } | null { function nodeSchedulingBadge(node: ProxyNode): { label: string; variant: BadgeVariant } | null {
switch (node.remote_config?.scheduling_state) { switch (node.remote_config?.scheduling_state) {
case 'draining': case 'draining':