diff --git a/src/components/TraceRunner.tsx b/src/components/TraceRunner.tsx index 633acbc..e150838 100644 --- a/src/components/TraceRunner.tsx +++ b/src/components/TraceRunner.tsx @@ -24,8 +24,9 @@ export default function TraceRunner({ meta, steps, loggedIn, username, completed const router = useRouter(); const lastIndex = steps.length - 1; const [idx, setIdx] = useState(Math.min(completedSteps.length, lastIndex)); - const [finished, setFinished] = useState(alreadyEarned); - const [earned, setEarned] = useState(alreadyEarned); + // Always open the lesson (so you can redraw/continue); show the finished screen only after finishing here. + const [finished, setFinished] = useState(false); + const [earned, setEarned] = useState(false); const [playKey, setPlayKey] = useState(0); const [playing, setPlaying] = useState(true); const [finalImage, setFinalImage] = useState(null); @@ -71,7 +72,7 @@ export default function TraceRunner({ meta, steps, loggedIn, username, completed useEffect(() => { if (!finished) resize(); }, [finished, resize]); useEffect(() => { - if (!loggedIn || alreadyEarned) return; let alive = true; + if (!loggedIn) return; let alive = true; loadProgressDrawing(meta.level, meta.sublevel).then((img) => { // Use this lesson's own saved canvas if any; otherwise carry over the previous lesson's drawing const src = img || carryImage;