Coursemology/coursemology2

View on GitHub
client/app/bundles/course/leaderboard/components/tables/LeaderboardTable.tsx

Summary

Maintainability
D
2 days
Test Coverage

Function LeaderboardTable has 321 lines of code (exceeds 25 allowed). Consider refactoring.
Open

const LeaderboardTable: FC<Props> = (props: Props) => {
  const { data, id: tableType } = props;
  const tabletView = useMedia.MinWidth('sm');
  const phoneView = useMedia.MinWidth('xs');
  const [maxAvatars, setMaxAvatars] = useState(6);

Function addGroup has 57 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  const addGroup = (): void => {
    const groupData = data as
      | GroupLeaderboardPoints[]
      | GroupLeaderboardAchievement[];
    columns.push(

Function addAchievements has 51 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  const addAchievements = (): void => {
    const achievementData = data as LeaderboardAchievement[];
    columns.push({
      name: 'achievements',
      label: 'Achievements',

Function addIndividual has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  const addIndividual = (): void => {
    const individualData = data as
      | LeaderboardPoints[]
      | LeaderboardAchievement[];
    columns.push({

Function addPoints has 33 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  const addPoints = (): void => {
    const pointData = data as LeaderboardPoints[];
    columns.push(
      {
        name: 'level',

There are no issues that match your filters.

Category
Status