diff --git a/src/components/CardsField/CardsField.tsx b/src/components/CardsField/CardsField.tsx index 862b448..65f76d7 100644 --- a/src/components/CardsField/CardsField.tsx +++ b/src/components/CardsField/CardsField.tsx @@ -114,7 +114,7 @@ const CardsField: React.FC = ({cards, isGameStarted = false, fi useEffect(() => { setCardsState(prev => (prev.map(el => ({...el, disabled: !isGameStarted, toggled: !isGameStarted && isNewGame})))); if (isGameStarted) localStorage.setItem('match-game:cards', JSON.stringify(cardsState)); - }, [isGameStarted]) + }, [isGameStarted, isNewGame]) useEffect(() => { if (isNewGame) setCardsState(cards.map(el => createCard(el))) diff --git a/src/pages/MatchMenu/MatchMenu.tsx b/src/pages/MatchMenu/MatchMenu.tsx index 920171b..e69de29 100644 --- a/src/pages/MatchMenu/MatchMenu.tsx +++ b/src/pages/MatchMenu/MatchMenu.tsx @@ -1,56 +0,0 @@ -import Button from 'components/UI/Button/Button'; -import { MenuItem, useMatchGame } from 'context/MatchGameContext'; -import React from 'react'; - -import cls from './MatchMenu.module.scss' - -type GameMenuProps = { - -} -type MenuItemType = { - itemName: MenuItem; - itemPlaceholder: string; - condition?: () => boolean; -} - -const MatchMenu: React.FC = () => { - const {setCurrentMenuItem} = useMatchGame(); - - const menuItems: MenuItemType[] = [ - {itemName: 'continue-game', itemPlaceholder: 'Continue', condition: canContinueGame}, - {itemName: 'new-game', itemPlaceholder: 'New game'}, - {itemName: 'options', itemPlaceholder: 'Options'}, - {itemName: 'exit', itemPlaceholder: 'Exit'}, - ] - - function clickItemHandler(item: MenuItem) { - setCurrentMenuItem?.(item); - } - - function canContinueGame() { - return !!localStorage.getItem('match-game:cards'); - } - - function renderItem(itemName: MenuItem, itemText: string) { - return - } - - function renderMenuItems() { - return menuItems.map(item => { - return item?.condition - ? item?.condition() &&
  • {renderItem(item.itemName, item.itemPlaceholder)}
  • - :
  • {renderItem(item.itemName, item.itemPlaceholder)}
  • ; - }); - } - - return ( -
    -

    Match game menu

    -
      - {renderMenuItems()} -
    -
    - ); -}; - -export default MatchMenu;