diff --git a/src/exams/Listening.tsx b/src/exams/Listening.tsx index f39ce5f5..95d07f82 100644 --- a/src/exams/Listening.tsx +++ b/src/exams/Listening.tsx @@ -52,7 +52,14 @@ export default function Listening({exam, showSolutions = false, onFinish}: Props return; } - if (![...userSolutions.map((x) => x.score.missing), solution?.score.missing].every((x) => x === 0) && !showSolutions && !hasExamEnded) { + if ( + solution && + ![...userSolutions.filter((x) => x.exercise !== solution?.exercise).map((x) => x.score.missing), solution?.score.missing].every( + (x) => x === 0, + ) && + !showSolutions && + !hasExamEnded + ) { setShowBlankModal(true); return; } diff --git a/src/exams/Reading.tsx b/src/exams/Reading.tsx index b2a81994..7e7d7442 100644 --- a/src/exams/Reading.tsx +++ b/src/exams/Reading.tsx @@ -112,7 +112,14 @@ export default function Reading({exam, showSolutions = false, onFinish}: Props) return; } - if (![...userSolutions.map((x) => x.score.missing), solution?.score.missing].every((x) => x === 0) && !showSolutions && !hasExamEnded) { + if ( + solution && + ![...userSolutions.filter((x) => x.exercise !== solution?.exercise).map((x) => x.score.missing), solution?.score.missing].every( + (x) => x === 0, + ) && + !showSolutions && + !hasExamEnded + ) { setShowBlankModal(true); return; }