@backstage-community/plugin-sonarqube
Version:
83 lines (80 loc) • 1.93 kB
JavaScript
import { jsx } from 'react/jsx-runtime';
import Avatar from '@material-ui/core/Avatar';
import { makeStyles, lighten } from '@material-ui/core/styles';
import { useMemo } from 'react';
const useStyles = makeStyles((theme) => {
const commonCardRating = {
height: theme.spacing(3),
width: theme.spacing(3),
color: theme.palette.common.white
};
return {
ratingDefault: {
...commonCardRating,
background: theme.palette.status.aborted
},
ratingA: {
...commonCardRating,
background: theme.palette.status.ok
},
ratingB: {
...commonCardRating,
background: lighten(theme.palette.status.ok, 0.5)
},
ratingC: {
...commonCardRating,
background: theme.palette.status.pending
},
ratingD: {
...commonCardRating,
background: theme.palette.status.warning
},
ratingE: {
...commonCardRating,
background: theme.palette.error.main
}
};
});
const Rating = ({
rating,
hideValue
}) => {
const classes = useStyles();
const ratingProp = useMemo(() => {
switch (rating) {
case "1.0":
return {
name: "A",
className: classes.ratingA
};
case "2.0":
return {
name: "B",
className: classes.ratingB
};
case "3.0":
return {
name: "C",
className: classes.ratingC
};
case "4.0":
return {
name: "D",
className: classes.ratingD
};
case "5.0":
return {
name: "E",
className: classes.ratingE
};
default:
return {
name: "",
className: classes.ratingDefault
};
}
}, [classes, rating]);
return /* @__PURE__ */ jsx(Avatar, { className: ratingProp.className, children: !hideValue && ratingProp.name });
};
export { Rating };
//# sourceMappingURL=Rating.esm.js.map