import { Typography, Statistic, Card, Col, Progress} from "antd"; const { Text } = Typography; interface StatisticItemProps { title?: string, value?: any, prefix?: JSX.Element, color?: string, progress?: boolean, centered?: boolean, }; const defaultProps = { title: '', value: 0, prefix: null, color: '', progress: false, centered: false, }; function ProgressView({ title, value, prefix, color }: StatisticItemProps) { const endColor = value > 90 ? 'red' : color; const content = (
{prefix}
{title}
{value}%
) return ( content} /> ) } ProgressView.defaultProps = defaultProps; function StatisticView({ title, value, prefix }: StatisticItemProps) { return ( ) } StatisticView.defaultProps = defaultProps; export default function StatisticItem(props: StatisticItemProps) { const { progress, centered } = props; const View = progress ? ProgressView : StatisticView; const style = centered ? {display: 'flex', alignItems: 'center', justifyContent: 'center'} : {}; return (
); } StatisticItem.defaultProps = defaultProps;