From c76df16a5c62cbcc0ca2b79ff67eea889617b467 Mon Sep 17 00:00:00 2001 From: Marius Unsel Date: Mon, 23 Feb 2026 03:07:59 +0100 Subject: [PATCH] fix winning modal --- src/components/GameScreen.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 (