feat(ui): position current stage badge on node circle

This commit is contained in:
sinohqb 2026-08-20 19:53:32 +08:00
parent 9bf741fbee
commit 68bf1876af

View File

@ -143,18 +143,31 @@ function LifecycleTimeline({ ev, currentStage, abnormal }: { ev: IntelligentEval
fontSize: 18, fontSize: 18,
transition: 'all 0.3s', transition: 'all 0.3s',
border: isCurrent ? `2px solid ${colors.primary}` : 'none', border: isCurrent ? `2px solid ${colors.primary}` : 'none',
position: 'relative',
}} }}
> >
{isCompleted ? <CheckCircleOutlined /> : <Icon />} {isCompleted ? <CheckCircleOutlined /> : <Icon />}
{isCurrent && (
<div style={{
position: 'absolute',
top: -8,
right: -8,
background: colors.primary,
color: '#fff',
fontSize: 10,
padding: '2px 6px',
borderRadius: 10,
whiteSpace: 'nowrap',
border: '2px solid #fff',
boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
}}>
</div>
)}
</div> </div>
<div style={{ fontSize: 12, color: isCurrent ? colors.primary : colors.textSecondary, fontWeight: isCurrent ? 600 : 400, textAlign: 'center' }}> <div style={{ fontSize: 12, color: isCurrent ? colors.primary : colors.textSecondary, fontWeight: isCurrent ? 600 : 400, textAlign: 'center' }}>
{stage.title} {stage.title}
</div> </div>
{isCurrent && (
<Tag color={colors.primary} style={{ fontSize: 11, margin: 0, padding: '0 8px' }}>
</Tag>
)}
{time && ( {time && (
<div style={{ fontSize: 11, color: colors.textMuted, textAlign: 'center', marginTop: 2 }}> <div style={{ fontSize: 11, color: colors.textMuted, textAlign: 'center', marginTop: 2 }}>
{formatDateTime(time)} {formatDateTime(time)}