fix(#2341): fix name for sport and not multiple choice sports

keep-around/2120219e54d05a89b489826989179588fac42c1d
Andrei Dekterev 4 years ago
parent 26e96e2488
commit 2120219e54
  1. 5
      src/features/SportsFilter/components/SelectSport/index.tsx
  2. 13
      src/features/SportsFilter/components/SelectSportPopup/index.tsx
  3. 30
      src/features/SportsFilter/index.tsx

@ -1,4 +1,5 @@
import { T9n } from 'features/T9n' import { T9n } from 'features/T9n'
import type { SportsType } from 'features/SportsFilter'
import { ScSportsFilter, ScArrow } from './styled' import { ScSportsFilter, ScArrow } from './styled'
@ -6,15 +7,17 @@ type SportsFilterProps = {
onModalOpen: () => void, onModalOpen: () => void,
open: boolean, open: boolean,
sport: Array<string>, sport: Array<string>,
sports: SportsType,
} }
export const SelectSport = ({ export const SelectSport = ({
onModalOpen, onModalOpen,
open, open,
sport, sport,
sports,
}: SportsFilterProps) => ( }: SportsFilterProps) => (
<ScSportsFilter onClick={onModalOpen} opacity={sport[0] === 'all_sports' ? 0.5 : 1}> <ScSportsFilter onClick={onModalOpen} opacity={sport[0] === 'all_sports' ? 0.5 : 1}>
<T9n t={sport[0]} /> <T9n t={sports[sport[0] as keyof typeof sports]} />
&nbsp; &nbsp;
{sport.length > 1 ? `+ ${sport.length - 1}` : ''} {sport.length > 1 ? `+ ${sport.length - 1}` : ''}
<ScArrow refIcon='Arrow' color='#ffffff' direction={open ? 180 : 0} /> <ScArrow refIcon='Arrow' color='#ffffff' direction={open ? 180 : 0} />

@ -1,4 +1,6 @@
import { T9n } from 'features/T9n' import { T9n } from 'features/T9n'
import type { SportsType } from 'features/SportsFilter'
import { getSportLexic } from 'helpers/getSportLexic' import { getSportLexic } from 'helpers/getSportLexic'
import { import {
@ -10,21 +12,13 @@ import {
ScSportName, ScSportName,
} from './styled' } from './styled'
const sports = {
all_sports: 'all_sports',
basketball: 'basketball',
football: 'football_popup',
handball: 'handball',
hockey: 'hockey_popup',
volleyball: 'volleyball',
}
type Props = { type Props = {
isOpen: boolean, isOpen: boolean,
onModalClose: () => void, onModalClose: () => void,
onSportClick: (sport: string) => void, onSportClick: (sport: string) => void,
selectedSport: Array<string>, selectedSport: Array<string>,
sportIds: Array<string>, sportIds: Array<string>,
sports: SportsType,
} }
export const SelectSportPopup = ({ export const SelectSportPopup = ({
isOpen, isOpen,
@ -32,6 +26,7 @@ export const SelectSportPopup = ({
onSportClick, onSportClick,
selectedSport, selectedSport,
sportIds, sportIds,
sports,
}: Props) => { }: Props) => {
const sportNames = sportIds const sportNames = sportIds
&& Array.from(sportIds) && Array.from(sportIds)

@ -5,6 +5,17 @@ import { useHeaderFiltersStore } from 'features/HeaderFilters'
import { SelectSport } from './components/SelectSport' import { SelectSport } from './components/SelectSport'
import { SelectSportPopup } from './components/SelectSportPopup' import { SelectSportPopup } from './components/SelectSportPopup'
const sports = {
all_sports: 'all_sports',
basketball: 'basketball',
football: 'football_popup',
handball: 'handball',
hockey: 'hockey_popup',
volleyball: 'volleyball',
}
export type SportsType = typeof sports
export const SportsFilter = () => { export const SportsFilter = () => {
const { const {
isShowTournament, isShowTournament,
@ -19,22 +30,7 @@ export const SportsFilter = () => {
const onSportClick = (sport: string) => { const onSportClick = (sport: string) => {
if (!isShowTournament) return if (!isShowTournament) return
if (sport === 'all_sports') { setSelectedSport([sport])
setSelectedLeague(['all_competitions'])
setSelectedSport([sport])
}
if (selectedSport.indexOf(sport) === -1) {
setSelectedSport((prev) => [
...prev.filter((item) => item !== 'all_sports'),
sport,
])
} else {
setSelectedSport((prev) => [
...prev.filter((item) => item !== 'all_sports'
&& item !== sport),
])
}
setSelectedLeague(['all_competitions']) setSelectedLeague(['all_competitions'])
setIsShowTournament(true) setIsShowTournament(true)
setIsOpen(false) setIsOpen(false)
@ -58,6 +54,7 @@ export const SportsFilter = () => {
onModalOpen={onModalOpen} onModalOpen={onModalOpen}
open={isOpen} open={isOpen}
sport={selectedSport} sport={selectedSport}
sports={sports}
/> />
<SelectSportPopup <SelectSportPopup
onSportClick={onSportClick} onSportClick={onSportClick}
@ -65,6 +62,7 @@ export const SportsFilter = () => {
onModalClose={onModalClose} onModalClose={onModalClose}
selectedSport={selectedSport} selectedSport={selectedSport}
sportIds={sportIds} sportIds={sportIds}
sports={sports}
/> />
</> </>
) )

Loading…
Cancel
Save