diff --git a/src/components/GameScreen.tsx b/src/components/GameScreen.tsx index ae44d1f..fa0f1a8 100644 --- a/src/components/GameScreen.tsx +++ b/src/components/GameScreen.tsx @@ -100,24 +100,27 @@ const GameScreen = ({ nextLevel, won, open, openModal, closeModal, setLevel, res let nextRoute = levelIdx === levels.length - 1 ? '/won' : '/level/' + levels[levelIdx + 1].name; let [idxMsgs, setMsgIdx] = useState(level.introMessages && level.introMessages.length > 0 ? 0 : null); - console.log("GameScreen():won=", won) // Auto-open modal for intro messages when level starts or when won useEffect(() => { // Auto-open modal for intro messages when level starts if (level.introMessages && level.introMessages.length > 0 && idxMsgs !== null && !open && !won) { openModal(); - console.log("GameScreen():autoopen") } // Auto-open modal when won if (won && !open) { openModal(); - console.log("GameScreen():autoopen-won") } }, [idxMsgs, won, level.introMessages]); // Proper dependencies - useEffect(() => game.init(level), []); // only called at creation + useEffect(() => { + resetState(); + game.init(level); + if (!level.introMessages || level.introMessages.length === 0) { + closeModal(); + } + }, [level]); return (