Add showExplanation state and update quiz logic in QuizRunner
This commit is contained in:
@@ -207,6 +207,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
|
|||||||
const [response, setResponse] = useState<any>(null);
|
const [response, setResponse] = useState<any>(null);
|
||||||
const [showResult, setShowResult] = useState(false);
|
const [showResult, setShowResult] = useState(false);
|
||||||
const [lastCorrect, setLastCorrect] = useState(false);
|
const [lastCorrect, setLastCorrect] = useState(false);
|
||||||
|
const [showExplanation, setShowExplanation] = useState(false);
|
||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -230,6 +231,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
|
|||||||
setResponse(null);
|
setResponse(null);
|
||||||
setShowResult(false);
|
setShowResult(false);
|
||||||
setLastCorrect(false);
|
setLastCorrect(false);
|
||||||
|
setShowExplanation(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
const startQuiz = async () => {
|
const startQuiz = async () => {
|
||||||
@@ -301,6 +303,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
|
|||||||
}
|
}
|
||||||
setLastCorrect(correct);
|
setLastCorrect(correct);
|
||||||
setShowResult(true);
|
setShowResult(true);
|
||||||
|
setShowExplanation(!correct);
|
||||||
};
|
};
|
||||||
|
|
||||||
const goNext = () => {
|
const goNext = () => {
|
||||||
@@ -355,6 +358,7 @@ export default function QuizRunner({ defaultMode = 'all', defaultEntryId, autoSt
|
|||||||
|
|
||||||
const targets = resolveTargets(currentQuestion);
|
const targets = resolveTargets(currentQuestion);
|
||||||
const correctText = deriveCorrectText(currentQuestion);
|
const correctText = deriveCorrectText(currentQuestion);
|
||||||
|
const shouldShowExplanation = showResult && (!lastCorrect || showExplanation);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="quiz-runner">
|
<div className="quiz-runner">
|
||||||
|
|||||||
Reference in New Issue
Block a user