import React, { useState, useEffect } from 'react';const WORDS = ['REACT', 'CLONE', 'WORDLE', 'GUESS', 'GAME', 'PIANO', 'RIVER', 'STONE', 'CLOUD', 'LIGHT'];const EnhancedWordleClone = () => { const [solution, setSolution] = useState(''); const [guesses, setGuesses] = useState(Array(6).fill(null)); const [currentGuess, setCurrentGuess] = useState(''); const [gameOver, setGameOver] = useState(false); const [message, setMessage] = useState(''); useEffect(() => { const randomWord = WORDS[Math.floor(Math.random() * WORDS.length)]; setSolution(randomWord); }, []); useEffect(() => { const handleKeyDown = (event) => { if (gameOver) return; if (event.key === 'Enter') { if (currentGuess.length !== 5) { setMessage('Word must be 5 letters long'); return; } const newGuesses = [...guesses]; const firstEmptyIndex = newGuesses.findIndex(guess => guess == null); newGuesses[firstEmptyIndex] = currentGuess; setGuesses(newGuesses); setCurrentGuess(''); if (currentGuess === solution) { setGameOver(true); setMessage('Congratulations! You won!'); } else if (firstEmptyIndex === 5) { setGameOver(true); setMessage(`Game over! The word was ${solution}`); } else { setMessage(''); } } else if (event.key === 'Backspace') { setCurrentGuess(currentGuess.slice(0, -1)); setMessage(''); } else if (currentGuess.length < 5 && event.key.match(/^[A-Za-z]$/)) { setCurrentGuess(currentGuess + event.key.toUpperCase()); setMessage(''); } }; window.addEventListener('keydown', handleKeyDown); return () => window.removeEventListener('keydown', handleKeyDown); }, [currentGuess, gameOver, guesses, solution]); const getLetterColor = (letter, index, guess) => { if (solution[index] === letter) { return '#6aaa64'; // green } else if (solution.includes(letter)) { return '#c9b458'; // yellow } else { return '#787c7e'; // grey } }; return (