From e54a03e1329bd4711203ec8d49afcc1b095796af Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Wed, 3 Jun 2026 19:23:33 -0700 Subject: obfuscate solution in local storage, fix progress persistence --- src/components/Game/index.tsx | 8 +++++--- src/components/Result/index.tsx | 15 +++++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src/components') diff --git a/src/components/Game/index.tsx b/src/components/Game/index.tsx index 3b45329..cde682d 100644 --- a/src/components/Game/index.tsx +++ b/src/components/Game/index.tsx @@ -44,8 +44,9 @@ export function Game({ onPlayAgain, }: Props) { const [sessionDate] = React.useState(() => getUtcDate()); - const isGameOver = didGuess || currentTry === 6; const recentFinishedPlay = localStorage.getItem("recentFinishedPlay"); + const hasFinishedCurrentRound = didGuess || currentTry >= guesses.length; + const isGameOver = hasFinishedCurrentRound; const isBlocked = mode === "daily" && !!recentFinishedPlay && @@ -53,10 +54,11 @@ export function Game({ !checkDailyIsGenerated(); React.useEffect(() => { - if (!isGameOver) return; + if (mode !== "daily") return; + if (!hasFinishedCurrentRound) return; localStorage.setItem("recentFinishedPlay", sessionDate); - }, [isGameOver, sessionDate]); + }, [mode, hasFinishedCurrentRound, sessionDate]); if (isBlocked) { return

Daily MIXX is not available yet. Check back soon!

; diff --git a/src/components/Result/index.tsx b/src/components/Result/index.tsx index 6b4560a..4ce7f35 100644 --- a/src/components/Result/index.tsx +++ b/src/components/Result/index.tsx @@ -100,14 +100,17 @@ export function Result({ mode = "daily", onPlayAgain, }: Props) { - const hoursToNextDay = Math.floor( - (new Date(new Date().setHours(24, 0, 0, 0)).getTime() - - new Date().getTime()) / - 1000 / - 60 / - 60 + const now = new Date(); + const nextUtcMidnight = Date.UTC( + now.getUTCFullYear(), + now.getUTCMonth(), + now.getUTCDate() + 1, + 0, 0, 0 ); + const hoursToNextDay = Math.floor( + (nextUtcMidnight - now.getTime()) / 1000 / 60 / 60 + ); const isUnlimited = mode === "unlimited"; if (didGuess) { -- cgit v1.2.3