import { type FunctionComponent, memo } from 'react'; import { Badge } from '@/components/Badge'; import { Modal } from '@/components/Modal'; import { useMediaQuery } from '@/hooks/useMediaQuery'; import { LOCALE_FEATURES } from '@/i18n/constants'; import { selectLocale, useTranslate, useTypedSelector } from '@/state'; import { Character } from './components'; import styles from './RemainingTilesModal.module.scss'; import { selectRemainingTilesGroups } from './selectors'; interface Props { className?: string; isOpen: boolean; onClose: () => void; } const RemainingTilesModalBase: FunctionComponent = ({ className, isOpen, onClose }) => { const translate = useTranslate(); const coversViewport = useMediaQuery(' {groups.map(({ remainingCount, tiles, translationKey, totalCount }) => { const current = direction === 'ltr' ? remainingCount : totalCount; const total = direction === 'ltr' ? totalCount : remainingCount; return ( {translate(translationKey)} {current.toLocaleString(locale)} / {total.toLocaleString(locale)} } >
{tiles.map((tile) => { return (
); })}
); })} ); }; export const RemainingTilesModal = memo(RemainingTilesModalBase);