From 110088688a0b8e9dbbc6de57c0bb29439cebc50a Mon Sep 17 00:00:00 2001 From: Carla Duarte Date: Mon, 17 May 2021 09:23:49 -0400 Subject: [PATCH] fix: grade range bug (#449) --- .../grades/course-grade/CourseGrade.jsx | 9 +-------- .../grades/course-grade/CurrentGradeTooltip.jsx | 6 +++--- .../grades/course-grade/GradeRangeTooltip.jsx | 16 +++++++++------- .../grade-summary/GradeSummaryTableFooter.jsx | 2 +- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/course-home/progress-tab/grades/course-grade/CourseGrade.jsx b/src/course-home/progress-tab/grades/course-grade/CourseGrade.jsx index 862d930e..94156f12 100644 --- a/src/course-home/progress-tab/grades/course-grade/CourseGrade.jsx +++ b/src/course-home/progress-tab/grades/course-grade/CourseGrade.jsx @@ -24,14 +24,7 @@ function CourseGrade({ intl }) { }, } = useModel('progress', courseId); - let passingGrade; - if (gradeRange.pass) { - passingGrade = gradeRange.pass * 100; - } else { - passingGrade = Object.entries(gradeRange).pop()[1] * 100; - } - - passingGrade = Number(passingGrade.toFixed(0)); + const passingGrade = Number((Math.min(...Object.values(gradeRange)) * 100).toFixed(0)); const isLocked = lockedCount > 0; const applyLockedOverlay = isLocked ? 'locked-overlay' : ''; diff --git a/src/course-home/progress-tab/grades/course-grade/CurrentGradeTooltip.jsx b/src/course-home/progress-tab/grades/course-grade/CurrentGradeTooltip.jsx index f6e4662d..9f0e4f8b 100644 --- a/src/course-home/progress-tab/grades/course-grade/CurrentGradeTooltip.jsx +++ b/src/course-home/progress-tab/grades/course-grade/CurrentGradeTooltip.jsx @@ -37,14 +37,14 @@ function CurrentGradeTooltip({ intl, tooltipClassName }) { )} > - - + + diff --git a/src/course-home/progress-tab/grades/course-grade/GradeRangeTooltip.jsx b/src/course-home/progress-tab/grades/course-grade/GradeRangeTooltip.jsx index 109d878b..81b01ce1 100644 --- a/src/course-home/progress-tab/grades/course-grade/GradeRangeTooltip.jsx +++ b/src/course-home/progress-tab/grades/course-grade/GradeRangeTooltip.jsx @@ -24,7 +24,9 @@ function GradeRangeTooltip({ intl, iconButtonClassName, passingGrade }) { const [showTooltip, setShowTooltip] = useState(false); - const gradeRangeEntries = Object.entries(gradeRange); + const orderedGradeRange = Object.entries(gradeRange).sort((a, b) => ( + gradeRange[b[0]] - gradeRange[a[0]] + )); return ( {intl.formatMessage(messages.courseGradeRangeTooltip)}
    - {gradeRangeEntries.map((entry, index) => { + {orderedGradeRange.map((range, index) => { if (index === 0) { return ( -
  • - {entry[0]}: {(entry[1] * 100).toFixed(0)}%-100% +
  • + {range[0]}: {(range[1] * 100).toFixed(0)}%-100%
  • ); } - const previousGrade = gradeRangeEntries[index - 1]; + const previousGrade = orderedGradeRange[index - 1]; return ( -
  • - {entry[0]}: {(entry[1] * 100).toFixed(0)}%-{(previousGrade[1] * 100).toFixed(0)}% +
  • + {range[0]}: {(range[1] * 100).toFixed(0)}%-{(previousGrade[1] * 100).toFixed(0)}%
  • ); })} diff --git a/src/course-home/progress-tab/grades/grade-summary/GradeSummaryTableFooter.jsx b/src/course-home/progress-tab/grades/grade-summary/GradeSummaryTableFooter.jsx index a8cf041f..e14141ed 100644 --- a/src/course-home/progress-tab/grades/grade-summary/GradeSummaryTableFooter.jsx +++ b/src/course-home/progress-tab/grades/grade-summary/GradeSummaryTableFooter.jsx @@ -20,7 +20,7 @@ function GradeSummaryTableFooter({ intl }) { } = useModel('progress', courseId); const bgColor = isPassing ? 'bg-success-100' : 'bg-warning-100'; - const totalGrade = percent * 100; + const totalGrade = (percent * 100).toFixed(0); return (