/* 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'; import { FC } from 'react'; const { Text } = Typography; export type 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, }; export type ContentProps = { prefix: string; value: any; suffix: string; title: string; }; const Content: FC = ({ prefix, value, suffix, title }) => (
{prefix}
{title}
{value} {suffix || '%'}
); const ProgressView: FC = ({ title, value, prefix, suffix, color }) => { const endColor = value > 90 ? 'red' : color; const content = ; return ( content} /> ); }; ProgressView.defaultProps = defaultProps; const StatisticView: FC = ({ title, value, prefix, formatter }) => ( ); StatisticView.defaultProps = defaultProps; export const StatisticItem: FC = props => { const { progress, centered } = props; const View = progress ? ProgressView : StatisticView; const style = centered ? { display: 'flex', alignItems: 'center', justifyContent: 'center' } : {}; return (
); }; StatisticItem.defaultProps = defaultProps;