diff --git a/components/Game.tsx b/components/Game.tsx
index 48c00ea..466e88a 100644
--- a/components/Game.tsx
+++ b/components/Game.tsx
@@ -30,6 +30,7 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
const [hasLost, setHasLost] = useState(false);
const [shareText, setShareText] = useState('Share Result');
const [lastAction, setLastAction] = useState<'GUESS' | 'SKIP' | null>(null);
+ const [isProcessingGuess, setIsProcessingGuess] = useState(false);
useEffect(() => {
if (gameState && dailyPuzzle) {
@@ -53,6 +54,9 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
if (!gameState) return
Loading state...
;
const handleGuess = (song: any) => {
+ if (isProcessingGuess) return; // Prevent multiple guesses
+
+ setIsProcessingGuess(true);
setLastAction('GUESS');
if (song.id === dailyPuzzle.songId) {
addGuess(song.title, true);
@@ -66,6 +70,8 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
sendGotifyNotification(maxAttempts, 'lost', dailyPuzzle.id, genre);
}
}
+ // Reset after a short delay to allow UI update
+ setTimeout(() => setIsProcessingGuess(false), 500);
};
const handleSkip = () => {
@@ -175,7 +181,7 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
{!hasWon && !hasLost && (
<>
-
+
{gameState.guesses.length < 6 ? (