All files / app/features/badges Badge.tsx

45.45% Statements 5/11
0% Branches 0/1
0% Functions 0/3
50% Lines 5/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 465x 5x 5x   5x           5x                                                                      
import { Chip, styled, Tooltip } from "@mui/material";
import { useProfileSheet } from "features/profile/ProfileSheetContext";
import Link from "next/link";
import { Badge as BadgeType } from "proto/resources_pb";
import { routeToBadge } from "routes";
 
interface BadgeProps {
  badge: BadgeType.AsObject;
}
 
const StyledTooltip = styled(Tooltip)(({ theme }) => ({
  marginInlineStart: theme.spacing(1),
  marginBottom: theme.spacing(1),
  "&:hover": {
    cursor: "pointer",
  },
}));
 
export default function Badge({ badge }: BadgeProps) {
  const { openProfileUserId, openBadge } = useProfileSheet();
  const isInSheet = openProfileUserId !== null;
 
  Iif (isInSheet) {
    return (
      <StyledTooltip title={badge.description}>
        <Chip
          label={badge.name}
          onClick={() => openBadge(badge.id)}
          sx={{ background: badge.color, cursor: "pointer" }}
        />
      </StyledTooltip>
    );
  }
 
  return (
    <StyledTooltip title={badge.description}>
      <Chip
        label={badge.name}
        href={routeToBadge(badge.id)}
        component={Link}
        sx={{ background: badge.color }}
      />
    </StyledTooltip>
  );
}