From e7c5b7f3e505afef84bcda241c83dfdbd4072c70 Mon Sep 17 00:00:00 2001 From: Farhaan Bukhsh Date: Mon, 21 Oct 2024 18:17:36 +0530 Subject: [PATCH] fix: Fixes the saving pop-up to appear Moves the array updation statement and introduces two ways of updating the grading statement. Signed-off-by: Farhaan Bukhsh --- .../grading-scale/GradingScale.jsx | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/src/grading-settings/grading-scale/GradingScale.jsx b/src/grading-settings/grading-scale/GradingScale.jsx index 2e610cbc42..d4d7d21dfb 100644 --- a/src/grading-settings/grading-scale/GradingScale.jsx +++ b/src/grading-settings/grading-scale/GradingScale.jsx @@ -55,40 +55,44 @@ const GradingScale = ({ }, [gradingSegments, letters]); const addNewGradingSegment = () => { - setGradingSegments(prevSegments => { + 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) => ( - { - 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, - }; + updatedGradingSegment = Array.from({ + length: prevSegments.length + 1, + }).map((_, i) => ({ + current: 100 - i * segSize, + previous: 100 - (i + 1) * segSize, + })); + } 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);