diff --git a/src/grading-settings/grading-scale/GradingScale.jsx b/src/grading-settings/grading-scale/GradingScale.jsx index 2e610cbc42..521239dfe8 100644 --- a/src/grading-settings/grading-scale/GradingScale.jsx +++ b/src/grading-settings/grading-scale/GradingScale.jsx @@ -56,39 +56,42 @@ const GradingScale = ({ const addNewGradingSegment = () => { setGradingSegments(prevSegments => { + let updatedGradingSegment = []; if (prevSegments.length >= 5) { const segSize = MAXIMUM_SCALE_LENGTH / (prevSegments.length + 1); - return Array.from({ length: prevSegments.length + 1 }).map((_, i) => ( + updatedGradingSegment = Array.from({ length: prevSegments.length + 1 }).map((_, i) => ( { current: 100 - i * segSize, previous: 100 - (i + 1) * segSize, } )); } - const firstSegment = prevSegments[prevSegments.length - 1]; - const secondSegment = prevSegments[prevSegments.length - 2]; - const newCurrentValue = Math.ceil((secondSegment.current - secondSegment.previous) / 2); - - const newSegment = { - current: (firstSegment.current + newCurrentValue), - previous: firstSegment.current, - }; + else { + const firstSegment = prevSegments[prevSegments.length - 1]; + const secondSegment = prevSegments[prevSegments.length - 2]; + const newCurrentValue = Math.ceil((secondSegment.current - secondSegment.previous) / 2); + + const newSegment = { + current: (firstSegment.current + newCurrentValue), + previous: firstSegment.current, + }; - const updatedSecondSegment = { - ...secondSegment, - previous: (firstSegment.current + newCurrentValue), - }; + const updatedSecondSegment = { + ...secondSegment, + previous: (firstSegment.current + newCurrentValue), + }; + updatedGradingSegment = [ + ...prevSegments.slice(0, prevSegments.length - 2), + updatedSecondSegment, + newSegment, + firstSegment, + ]; + } showSavePrompt(true); setShowSuccessAlert(false); setOverrideInternetConnectionAlert(false); - - return [ - ...prevSegments.slice(0, prevSegments.length - 2), - updatedSecondSegment, - newSegment, - firstSegment, - ]; + return updatedGradingSegment; }); const nextIndex = (letters.length % defaultGradeDesignations.length);