Add showExplanation state and update quiz logic in QuizRunner

This commit is contained in:
2026-01-08 01:10:28 +01:00
parent ea76055d1d
commit aeeb153365

View File

@@ -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">