diff --git a/src/components/big-interactive-pages/mobile-player.tsx b/src/components/big-interactive-pages/mobile-player.tsx index 6bd6fe9340..1ff8e14406 100644 --- a/src/components/big-interactive-pages/mobile-player.tsx +++ b/src/components/big-interactive-pages/mobile-player.tsx @@ -11,10 +11,13 @@ interface MobilePlayerProps { export default function MobilePlayer(props: MobilePlayerProps) { const screen = useRef(null) - + const cleanup = useRef<(() => void) | null>(null); + const run = () => { + if (cleanup.current) cleanup.current(); const res = runGame(props.code, screen.current!, (_) => { }) if (res.error) console.error(res.error.raw) + cleanup.current = res.cleanup; return res.cleanup } @@ -69,4 +72,4 @@ export default function MobilePlayer(props: MobilePlayerProps) { ) -} \ No newline at end of file +}