diff --git a/src/App.tsx b/src/App.tsx index 313f857..8312463 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -13,9 +13,10 @@ import { } from "./lib/localStorage"; function App() { - const [guesses, setGuesses] = useState( - loadGameStateFromLocalStorage()?.guesses || [] - ); + const [guesses, setGuesses] = useState(() => { + const loaded = loadGameStateFromLocalStorage(); + return loaded?.solution === solution ? loaded.guesses : []; + }); const [currentGuess, setCurrentGuess] = useState(""); const [isGameWon, setIsGameWon] = useState(false); const [isWinModalOpen, setIsWinModalOpen] = useState(false); @@ -26,7 +27,7 @@ function App() { const [shareComplete, setShareComplete] = useState(false); useEffect(() => { - saveGameStateToLocalStorage(guesses); + saveGameStateToLocalStorage({ guesses, solution }); }, [guesses]); useEffect(() => { diff --git a/src/lib/localStorage.ts b/src/lib/localStorage.ts index 1294ac3..7286269 100644 --- a/src/lib/localStorage.ts +++ b/src/lib/localStorage.ts @@ -2,12 +2,10 @@ const gameStateKey = "gameState"; type StoredGameState = { guesses: string[]; + solution: string; }; -export const saveGameStateToLocalStorage = (guesses: string[]) => { - const gameState = { - guesses, - }; +export const saveGameStateToLocalStorage = (gameState: StoredGameState) => { localStorage.setItem(gameStateKey, JSON.stringify(gameState)); };