Skip to content

Commit ab80fbd

Browse files
authored
Merge pull request #644 from ccnmtl/ERD-356
Remove redo; fix text; fix missing option
2 parents fb5108f + 8f78e77 commit ab80fbd

File tree

2 files changed

+31
-9
lines changed

2 files changed

+31
-9
lines changed

media/js/src/simulations/simulation1/multipleChoiceQuestion.jsx

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,30 @@ export const MultipleChoiceQuestion = ({
2323
setSelectedOption(option);
2424
};
2525

26+
const handleRetry = () => {
27+
setIsAnswered(false);
28+
setIsCorrect(null);
29+
setSelectedOption(null);
30+
};
31+
2632
const handleSubmit = async() => {
2733
setIsAnswered(true);
2834
// eslint-disable-next-line max-len
2935
const correct = extractTextContent(selectedOption) === extractTextContent(answer);
3036
setIsCorrect(correct);
31-
const questionType = header;
32-
const textOption = extractTextContent(selectedOption);
3337

34-
await saveAnswer(submissionId, questionNumber, questionType,
35-
textOption, correct, {});
38+
await saveAnswer(submissionId, questionNumber, header,
39+
extractTextContent(selectedOption), correct, {});
3640

37-
setIsSubmitted(correct);
41+
if (correct) {
42+
setIsSubmitted(true);
43+
} else {
44+
setIsSubmitted(false); // Allow retry for incorrect answers
45+
}
3846
};
3947

48+
const isQualifier = header === 'Qualifier';
49+
4050
useEffect(() => {
4151
setShuffledOptions(shuffleArray([...options]));
4252
document.getElementById(`multiple-${idkey}`).scrollIntoView(
@@ -96,6 +106,15 @@ export const MultipleChoiceQuestion = ({
96106
{isCorrect ? correctFeedback : incorrectFeedback}
97107
</div>
98108
)}
109+
{isAnswered && !isCorrect && !isQualifier && (
110+
<div className="mt-3">
111+
<button
112+
className="btn btn-sm btn-warning"
113+
onClick={handleRetry}>
114+
Retry
115+
</button>
116+
</div>
117+
)}
99118
</div>
100119
</div>
101120
</div> {/* div class=simulation__step-container */}

media/js/src/simulations/simulation1/simulationOneQuiz.jsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,16 @@ export const SimulationOneQuiz = ({
3737
setIsSubmitted(false);
3838
setCompletedChoices([...completedChoices, choiceKey]);
3939
setShowQualifier(true);
40+
setShowRedoButton(false);
4041
} else {
4142
setCompletedChoices([...completedChoices, choiceKey]);
4243
setSelectedAltHypothesis(null);
4344
setIsSubmitted(true);
45+
setShowRedoButton(false);
4446
}
4547
if (plotType === '3d' && choiceKey === 'A') {
4648
setShowContinueToB(true);
49+
setShowRedoButton(false);
4750
}
4851
} else {
4952
if (choiceKey === 'A') {
@@ -252,12 +255,12 @@ export const SimulationOneQuiz = ({
252255
className="katex-inline"/> Perform a
253256
hypothesis test against the null hypothesis.
254257
</p>
255-
<ol className="listset-alpha listset-alpha-listnum">
258+
<ol className="listset-alpha listset-alpha-listnum"
259+
key={completedChoices.length}>
256260
{/* Choice A default display */}
257261
{renderChoice('A', '\\Eta_1: {\\beta_1}{\\neq} ')}
258262

259-
{completedChoices.includes('A') &&
260-
isTakeawayCorrect.A && (
263+
{completedChoices.includes('A') && (
261264
renderChoice('B', '\\Eta_1: {\\beta_1}{\\gt} ')
262265
)}
263266
{completedChoices.includes('B') && (
@@ -530,7 +533,7 @@ export const SimulationOneQuiz = ({
530533
would be smaller.
531534
</span>,
532535
<span>
533-
Excellent! You have correctly identified the correct
536+
Excellent! You identified the correct
534537
answer.
535538
</span>,
536539
<span>

0 commit comments

Comments
 (0)