import Button from "@/components/Button"; import IconClick from "@/components/IconClick"; import IMAGES from "@/config/images"; import { Letter, SupportedAlphabets } from "@/interfaces"; import { Dispatch, KeyboardEvent, SetStateAction, useEffect, useState } from "react"; export default function MemoryCard( { alphabet, setChosenAlphabet }: { alphabet: Letter[], setChosenAlphabet: Dispatch> } ) { const [index, setIndex] = useState(Math.floor(Math.random() * alphabet.length)); const [more, setMore] = useState(false); const [ipaDisplay, setIPADisplay] = useState(true); const [letterDisplay, setLetterDisplay] = useState(true); useEffect(() => { const handleKeydown = (e: globalThis.KeyboardEvent) => { if (e.key === ' ') refresh(); } document.addEventListener('keydown', handleKeydown); return () => document.removeEventListener('keydown', handleKeydown); }); const letter = alphabet[index]; const refresh = () => { setIndex(Math.floor(Math.random() * alphabet.length)); } return (
) => e.preventDefault()}>
setChosenAlphabet(null)}>
{letterDisplay ? letter.letter : ''} {ipaDisplay ? letter.letter_sound_ipa : ''}
setMore(!more)}> { more ? (<> ) : (<>) }
); }