From 2120219e54d05a89b489826989179588fac42c1d Mon Sep 17 00:00:00 2001 From: Andrei Dekterev Date: Sat, 7 May 2022 01:52:18 +0700 Subject: [PATCH] fix(#2341): fix name for sport and not multiple choice sports --- .../components/SelectSport/index.tsx | 5 +++- .../components/SelectSportPopup/index.tsx | 13 +++----- src/features/SportsFilter/index.tsx | 30 +++++++++---------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/features/SportsFilter/components/SelectSport/index.tsx b/src/features/SportsFilter/components/SelectSport/index.tsx index 55572eec..47f194d1 100644 --- a/src/features/SportsFilter/components/SelectSport/index.tsx +++ b/src/features/SportsFilter/components/SelectSport/index.tsx @@ -1,4 +1,5 @@ import { T9n } from 'features/T9n' +import type { SportsType } from 'features/SportsFilter' import { ScSportsFilter, ScArrow } from './styled' @@ -6,15 +7,17 @@ type SportsFilterProps = { onModalOpen: () => void, open: boolean, sport: Array, + sports: SportsType, } export const SelectSport = ({ onModalOpen, open, sport, + sports, }: SportsFilterProps) => ( - +   {sport.length > 1 ? `+ ${sport.length - 1}` : ''} diff --git a/src/features/SportsFilter/components/SelectSportPopup/index.tsx b/src/features/SportsFilter/components/SelectSportPopup/index.tsx index 3d36769e..6199381d 100644 --- a/src/features/SportsFilter/components/SelectSportPopup/index.tsx +++ b/src/features/SportsFilter/components/SelectSportPopup/index.tsx @@ -1,4 +1,6 @@ import { T9n } from 'features/T9n' +import type { SportsType } from 'features/SportsFilter' + import { getSportLexic } from 'helpers/getSportLexic' import { @@ -10,21 +12,13 @@ import { ScSportName, } from './styled' -const sports = { - all_sports: 'all_sports', - basketball: 'basketball', - football: 'football_popup', - handball: 'handball', - hockey: 'hockey_popup', - volleyball: 'volleyball', -} - type Props = { isOpen: boolean, onModalClose: () => void, onSportClick: (sport: string) => void, selectedSport: Array, sportIds: Array, + sports: SportsType, } export const SelectSportPopup = ({ isOpen, @@ -32,6 +26,7 @@ export const SelectSportPopup = ({ onSportClick, selectedSport, sportIds, + sports, }: Props) => { const sportNames = sportIds && Array.from(sportIds) diff --git a/src/features/SportsFilter/index.tsx b/src/features/SportsFilter/index.tsx index 958d050f..4ba13992 100644 --- a/src/features/SportsFilter/index.tsx +++ b/src/features/SportsFilter/index.tsx @@ -5,6 +5,17 @@ import { useHeaderFiltersStore } from 'features/HeaderFilters' import { SelectSport } from './components/SelectSport' 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 = () => { const { isShowTournament, @@ -19,22 +30,7 @@ export const SportsFilter = () => { const onSportClick = (sport: string) => { if (!isShowTournament) return - if (sport === 'all_sports') { - 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), - ]) - } + setSelectedSport([sport]) setSelectedLeague(['all_competitions']) setIsShowTournament(true) setIsOpen(false) @@ -58,6 +54,7 @@ export const SportsFilter = () => { onModalOpen={onModalOpen} open={isOpen} sport={selectedSport} + sports={sports} /> { onModalClose={onModalClose} selectedSport={selectedSport} sportIds={sportIds} + sports={sports} /> )