Files
lingniu-vehicle-ingest/vehicle-data-platform/apps/web/src/v2/shared/AsyncState.tsx

20 lines
753 B
TypeScript

import { IconAlertTriangle, IconRefresh } from '@douyinfe/semi-icons';
export function PageLoading({ label = '正在加载车辆数据' }: { label?: string }) {
return <div className="v2-page-state"><span className="v2-spinner" />{label}</div>;
}
export function InlineError({ message, onRetry }: { message: string; onRetry?: () => void }) {
return (
<div className="v2-inline-state is-error" role="alert">
<IconAlertTriangle />
<span>{message}</span>
{onRetry ? <button type="button" onClick={onRetry}><IconRefresh /></button> : null}
</div>
);
}
export function EmptyState({ title = '暂无符合条件的车辆' }: { title?: string }) {
return <div className="v2-inline-state"><span>{title}</span></div>;
}