feat: unify mileage metrics with semi ui

This commit is contained in:
lingniu
2026-07-19 12:02:10 +08:00
parent 2e87378c92
commit 031e22de79
6 changed files with 124 additions and 29 deletions

View File

@@ -39,7 +39,8 @@ type WorkspaceQueueMetricRailProps = {
export function WorkspaceMetricRail(props: WorkspaceSummaryMetricRailProps | WorkspaceQueueMetricRailProps) {
if ('items' in props) {
return <Card className={`v2-workspace-metric-rail is-queue ${props.className}`} bodyStyle={{ padding: 0 }}>
const hasContext = props.context != null;
return <Card className={`v2-workspace-metric-rail is-queue${hasContext ? ' has-context' : ''} ${props.className}`} bodyStyle={{ padding: 0 }}>
<div className="v2-workspace-metric-list" role="list" aria-label={props.ariaLabel}>
{props.items.map((item, index) => {
const toneClassName = `is-${item.tone ?? 'neutral'}`;
@@ -72,7 +73,7 @@ export function WorkspaceMetricRail(props: WorkspaceSummaryMetricRailProps | Wor
</span>;
})}
</div>
{props.context ? <div className="v2-workspace-metric-context">{props.context}</div> : null}
{hasContext ? <div className="v2-workspace-metric-context">{props.context}</div> : null}
</Card>;
}