feat(platform): harden telemetry pipeline and unify Semi UI workspaces

This commit is contained in:
lingniu
2026-07-18 00:26:36 +08:00
parent 65b4e4f055
commit 159c80b0ae
136 changed files with 21616 additions and 1785 deletions

View File

@@ -1,8 +1,9 @@
import { IconAlertTriangle, IconRefresh } from '@douyinfe/semi-icons';
import { Button, Empty, Spin, Typography } from '@douyinfe/semi-ui';
export function PageLoading({ label = '正在加载车辆数据' }: { label?: string }) {
return <section className="v2-page-state" role="status" aria-live="polite">
<header><span className="v2-spinner" /><div><strong>{label}</strong><small></small></div></header>
<header><Spin size="large" /><div><Typography.Text strong>{label}</Typography.Text><Typography.Text type="tertiary" size="small"></Typography.Text></div></header>
<div className="v2-page-skeleton"><i /><i /><i /><i /></div>
</section>;
}
@@ -12,11 +13,11 @@ export function InlineError({ message, onRetry }: { message: string; onRetry?: (
<div className="v2-inline-state is-error" role="alert">
<IconAlertTriangle />
<span>{message}</span>
{onRetry ? <button type="button" onClick={onRetry}><IconRefresh /></button> : null}
{onRetry ? <Button theme="light" icon={<IconRefresh />} onClick={onRetry}></Button> : null}
</div>
);
}
export function EmptyState({ title = '暂无符合条件的车辆' }: { title?: string }) {
return <div className="v2-inline-state"><span>{title}</span></div>;
return <div className="v2-inline-state"><Empty title={title} /></div>;
}