1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-28 17:55:15 +02:00
unleash.unleash/frontend/src/component/feature/FeatureView2/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx
2021-11-12 12:41:36 +01:00

61 lines
2.1 KiB
TypeScript

import PieChart from '@material-ui/icons/PieChart';
import { IFeatureEnvironmentMetrics } from '../../../../../../../interfaces/featureToggle';
import { calculatePercentage } from '../../../../../../../utils/calculate-percentage';
import PercentageCircle from '../../../../../../common/PercentageCircle/PercentageCircle';
import { useStyles } from './FeatureOverviewEnvironmentMetrics.styles';
interface IFeatureOverviewEnvironmentMetrics {
environmentMetric?: IFeatureEnvironmentMetrics;
}
const FeatureOverviewEnvironmentMetrics = ({
environmentMetric,
}: IFeatureOverviewEnvironmentMetrics) => {
const styles = useStyles();
const total = environmentMetric.yes + environmentMetric.no;
const percentage = calculatePercentage(total, environmentMetric.yes);
if (
!environmentMetric ||
(environmentMetric.yes === 0 && environmentMetric.no === 0)
) {
return (
<div className={styles.container}>
<div className={styles.info}>
<p className={styles.percentage} data-loading>
{percentage}%
</p>
<p className={styles.infoParagraph} data-loading>
No one has received this feature in the last hour.
</p>
</div>
<PieChart
className={styles.icon}
style={{ transform: 'scale(1.1)' }}
data-loading
/>
</div>
);
}
return (
<div className={styles.container}>
<div className={styles.info}>
<p className={styles.percentage}>{percentage}%</p>
<p className={styles.infoParagraph}>
{environmentMetric.yes} users have received the feature in
the last hour.
</p>
</div>
<PercentageCircle
className={styles.percentageCircle}
percentage={percentage}
data-loading
/>
</div>
);
};
export default FeatureOverviewEnvironmentMetrics;