Add nonce parameter to QuizPage and update QuizRunner key

This commit is contained in:
2026-01-08 01:38:10 +01:00
parent 8b3345a3a1
commit c93c20277d

View File

@@ -5,9 +5,10 @@ import QuizRunner from '../components/QuizRunner';
export default function QuizPage() { export default function QuizPage() {
const [params] = useSearchParams(); const [params] = useSearchParams();
const { mode, entryId } = useMemo(() => { const { mode, entryId, nonce } = useMemo(() => {
const modeParam = params.get('mode'); const modeParam = params.get('mode');
const idParam = params.get('id'); const idParam = params.get('id');
const nonceParam = params.get('nonce') || '';
let decodedId: string | undefined; let decodedId: string | undefined;
if (idParam) { if (idParam) {
try { try {
@@ -16,11 +17,13 @@ export default function QuizPage() {
decodedId = idParam; decodedId = idParam;
} }
} }
return { mode: modeParam, entryId: decodedId }; return { mode: modeParam, entryId: decodedId, nonce: nonceParam };
}, [params]); }, [params]);
const defaultMode = mode === 'entry' ? 'single' : 'all'; const defaultMode = mode === 'entry' ? 'single' : 'all';
const autoStart = true; const autoStart = true;
return <QuizRunner defaultMode={defaultMode} defaultEntryId={entryId} autoStart={autoStart} />; const runnerKey = `${defaultMode}-${entryId || 'all'}-${nonce}`;
return <QuizRunner key={runnerKey} defaultMode={defaultMode} defaultEntryId={entryId} autoStart={autoStart} />;
} }