/* eslint-disable react/no-unused-prop-types */ /* eslint-disable react/no-unstable-nested-components */ // TODO: This component should be cleaned up and usage should be re-examined. The types should be reconsidered as well. import { Typography, Statistic, Card, Progress } from 'antd'; const { Text } = Typography; interface StatisticItemProps { title?: string; value?: any; prefix?: any; suffix?: string; color?: string; progress?: boolean; centered?: boolean; formatter?: any; } const defaultProps = { title: '', value: 0, prefix: null, suffix: null, color: '', progress: false, centered: false, formatter: null, }; interface ContentProps { prefix: string; value: any; suffix: string; title: string; } function Content({ prefix, value, suffix, title }: ContentProps) { return (
{prefix}
{title}
{value} {suffix || '%'}
); } function ProgressView({ title, value, prefix, suffix, color }: StatisticItemProps) { const endColor = value > 90 ? 'red' : color; const content = ; return ( content} /> ); } ProgressView.defaultProps = defaultProps; function StatisticView({ title, value, prefix, formatter }: 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;