UNPKG

@backstage-community/plugin-sonarqube

Version:
83 lines (80 loc) 1.93 kB
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