import classNames from 'classnames'; import { type FunctionComponent, memo } from 'react'; import { useAppLayout } from '@/app-layout'; import { CardChecklist, Cog, Eraser, Github, KeyboardFill, List, Sack } from '@/icons'; import { GITHUB_PROJECT_URL } from '@/parameters'; import { selectConfig, useTranslate, useTypedSelector } from '@/state'; import { IconButton } from '../IconButton'; import styles from './NavButtons.module.scss'; import { selectHasInvalidWords, selectHasOverusedTiles } from './selectors'; interface Props { onClear: () => void; onShowKeyMap: () => void; onShowMenu: () => void; onShowRemainingTiles: () => void; onShowSettings: () => void; onShowWords: () => void; } const NavButtonsBase: FunctionComponent = ({ onClear, onShowKeyMap, onShowMenu, onShowRemainingTiles, onShowSettings, onShowWords, }) => { const translate = useTranslate(); const config = useTypedSelector(selectConfig); const hasInvalidWords = useTypedSelector(selectHasInvalidWords); const hasOverusedTiles = useTypedSelector(selectHasOverusedTiles); const { showKeyMap, showShortNav } = useAppLayout(); if (showShortNav) { return (
); } return (
{config.supportsRemainingTiles && ( )}
{showKeyMap && ( )}
); }; export const NavButtons = memo(NavButtonsBase);