import React, { useState, useEffect } from 'react';import ReactDOM from 'react-dom';const WORD_LENGTH = 5;const MAX_GUESSES = 6;const WORDS = ['REACT', 'REDUX', 'HOOKS', 'STATE', 'PROPS']; // Add more words as neededfunction WordleApp() { const [targetWord, setTargetWord] = useState(''); const [guesses, setGuesses] = useState([]); const [currentGuess, setCurrentGuess] = useState(''); const [gameOver, setGameOver] = useState(false); useEffect(() => { setTargetWord(WORDS[Math.floor(Math.random() * WORDS.length)]); }, []); const handleKeyPress = (event) => { if (gameOver) return; if (event.key === 'Enter' && currentGuess.length === WORD_LENGTH) { submitGuess(); } else if (event.key === 'Backspace') { setCurrentGuess(currentGuess.slice(0, -1)); } else if (currentGuess.length < WORD_LENGTH && event.key.match(/^[a-z]$/i)) { setCurrentGuess(currentGuess + event.key.toUpperCase()); } }; const submitGuess = () => { const newGuesses = [...guesses, currentGuess]; setGuesses(newGuesses); setCurrentGuess(''); if (currentGuess === targetWord || newGuesses.length === MAX_GUESSES) { setGameOver(true); } }; useEffect(() => { window.addEventListener('keydown', handleKeyPress); return () => { window.removeEventListener('keydown', handleKeyPress); }; }, [currentGuess, gameOver]); const renderGuess = (guess) => { return guess.split('').map((letter, index) => { let className = 'tile'; if (targetWord[index] === letter) { className += ' correct'; } else if (targetWord.includes(letter)) { className += ' present'; } else { className += ' absent'; } return