fix(ott-2710): mobile test fixes

OTT-2710-match-filters
boyvanov 3 years ago
parent 0753664b64
commit e2039415ff
  1. 12
      src/features/HeaderFilters/store/hooks/index.tsx
  2. 18
      src/features/HeaderFilters/store/hooks/useMatchFilters.tsx
  3. 5
      src/features/HomePage/components/ClearFiltersPopup/index.tsx
  4. 20
      src/features/HomePage/components/ClearFiltersPopup/styled.tsx
  5. 2
      src/features/HomePage/components/Dropdown/styled.tsx
  6. 16
      src/features/HomePage/components/MatchesFilters/index.tsx
  7. 12
      src/features/HomePage/components/MobileMatchesFilters/index.tsx
  8. 4
      src/features/HomePage/index.tsx

@ -41,18 +41,18 @@ export const useFilters = () => {
closeDropdownList, closeDropdownList,
confirmClear, confirmClear,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
getDropdownList, getDropdownList,
handleSetFilters, handleSetFilters,
inputValue, inputValue,
isEmptyFilters, isEmptyFilters,
isFiltersShown, isFiltersShown,
isOpenList,
matchesList, matchesList,
openDropdownList,
openPopup, openPopup,
queryParams, queryParams,
setTournamentMatches, setTournamentMatches,
toggleDropdownList,
} = useMatchFilters({ } = useMatchFilters({
selectedDate, selectedDate,
selectedTournament, selectedTournament,
@ -111,6 +111,7 @@ export const useFilters = () => {
closeDropdownList, closeDropdownList,
confirmClear, confirmClear,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
getDropdownList, getDropdownList,
handleClickBack, handleClickBack,
@ -118,11 +119,9 @@ export const useFilters = () => {
inputValue, inputValue,
isEmptyFilters, isEmptyFilters,
isFiltersShown, isFiltersShown,
isOpenList,
isShowTournament, isShowTournament,
isTodaySelected, isTodaySelected,
matchesList, matchesList,
openDropdownList,
openPopup, openPopup,
queryParams, queryParams,
resetFilters, resetFilters,
@ -139,6 +138,7 @@ export const useFilters = () => {
setSelectedTournament, setSelectedTournament,
setSportIds, setSportIds,
sportIds, sportIds,
toggleDropdownList,
updateDate, updateDate,
}), [ }), [
activeFilters, activeFilters,
@ -150,6 +150,7 @@ export const useFilters = () => {
closeDropdownList, closeDropdownList,
confirmClear, confirmClear,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
getDropdownList, getDropdownList,
handleClickBack, handleClickBack,
@ -157,11 +158,9 @@ export const useFilters = () => {
inputValue, inputValue,
isEmptyFilters, isEmptyFilters,
isFiltersShown, isFiltersShown,
isOpenList,
isShowTournament, isShowTournament,
isTodaySelected, isTodaySelected,
matchesList, matchesList,
openDropdownList,
openPopup, openPopup,
queryParams, queryParams,
resetFilters, resetFilters,
@ -178,6 +177,7 @@ export const useFilters = () => {
setSelectedTournament, setSelectedTournament,
setSportIds, setSportIds,
sportIds, sportIds,
toggleDropdownList,
updateDate, updateDate,
]) ])

@ -68,17 +68,23 @@ export const useMatchFilters = ({
}: TUseMatchFilters) => { }: TUseMatchFilters) => {
const [matchesList, setMatchesList] = useState<Array<Match>>([]) const [matchesList, setMatchesList] = useState<Array<Match>>([])
const [tournamentMatches, setTournamentMatches] = useState<Array<Match>>([]) const [tournamentMatches, setTournamentMatches] = useState<Array<Match>>([])
const [isOpenList, setOpenList] = useState<string>('') const [filtersListName, setFiltersListName] = useState<string>('')
const [activeFilters, setActiveFilters] = useState<TActiveFilters>(DEFAULT_FILTERS) const [activeFilters, setActiveFilters] = useState<TActiveFilters>(DEFAULT_FILTERS)
const [inputValue, setInputValue] = useState<string>('') const [inputValue, setInputValue] = useState<string>('')
const [openPopup, setOpenPopup] = useState(false) const [openPopup, setOpenPopup] = useState(false)
const openDropdownList = (title: string) => () => { const toggleDropdownList = (title: string) => () => {
setOpenList(title === isOpenList ? '' : title) if (title === filtersListName) {
setFiltersListName('')
setInputValue('')
} else {
setFiltersListName(title)
}
} }
const closeDropdownList = () => { const closeDropdownList = () => {
setOpenList('') setFiltersListName('')
setInputValue('')
} }
const clearAllFilters = () => { const clearAllFilters = () => {
@ -266,17 +272,17 @@ export const useMatchFilters = ({
closeDropdownList, closeDropdownList,
confirmClear, confirmClear,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
getDropdownList, getDropdownList,
handleSetFilters, handleSetFilters,
inputValue, inputValue,
isEmptyFilters, isEmptyFilters,
isFiltersShown, isFiltersShown,
isOpenList,
matchesList, matchesList,
openDropdownList,
openPopup, openPopup,
queryParams, queryParams,
setTournamentMatches, setTournamentMatches,
toggleDropdownList,
} }
} }

@ -1,6 +1,6 @@
import { useHeaderFiltersStore } from 'features/HeaderFilters' import { useHeaderFiltersStore } from 'features/HeaderFilters'
import { T9n } from 'features/T9n' import { T9n } from 'features/T9n'
import React from 'react'
import { import {
ButtonsContainer, ButtonsContainer,
CancelButton, CancelButton,
@ -25,7 +25,8 @@ export const ClearFiltersPopup = () => {
<T9n t='clear_filters' /> <T9n t='clear_filters' />
</PopupTitle> </PopupTitle>
<PopupText> <PopupText>
<T9n t='clear_popup_message' /> {/* <T9n t='clear_popup_message' /> */}
<span>Do you want to clear all filter selections?</span>
</PopupText> </PopupText>
<ButtonsContainer> <ButtonsContainer>
<ConfirmButton onClick={confirmClear}> <ConfirmButton onClick={confirmClear}>

@ -1,23 +1,31 @@
import styled, { css } from 'styled-components/macro' import styled, { css } from 'styled-components/macro'
import { ModalWindow } from 'features/Modal/styled' import { ModalWindow } from 'features/Modal/styled'
import { OutsideClickWrapper } from 'features/OutsideClick'
import { import {
Modal as BaseModal, Modal as BaseModal,
} from 'features/AuthServiceApp/components/RegisterPopup/styled' } from 'features/AuthServiceApp/components/RegisterPopup/styled'
import { isMobileDevice } from 'config/userAgent' import { isMobileDevice } from 'config/userAgent'
export const Modal = styled(BaseModal)` export const Modal = styled(BaseModal)`
${OutsideClickWrapper} {
${isMobileDevice
? css`height: 100%;`
: ''}
}
${ModalWindow} { ${ModalWindow} {
${isMobileDevice ${isMobileDevice
? css` ? css`
min-height: 201px; min-height: 201px;
max-width: 351px; max-width: 351px;
padding: 26px 19px 33px 19px; padding: 26px 15px 33px 15px;
top: 19vh;
` `
: css` : css`
min-height: 220px; min-height: 220px;
max-width: 611px; max-width: 611px;
padding: 37px 0 39px 0; padding: 37px 0 39px 0;
`} `}
} }
` `

@ -1,4 +1,5 @@
import styled, { css } from 'styled-components/macro' import styled, { css } from 'styled-components/macro'
import { customScrollbar } from 'features/Common' import { customScrollbar } from 'features/Common'
import { Checkbox as BaseCheckbox } from 'features/Common/Checkbox' import { Checkbox as BaseCheckbox } from 'features/Common/Checkbox'
import { Label } from 'features/Common/Checkbox/styled' import { Label } from 'features/Common/Checkbox/styled'
@ -17,6 +18,7 @@ export const DropDownContainer = styled.div`
border-radius: 3.5px; border-radius: 3.5px;
z-index: 10;`} z-index: 10;`}
` `
export const FiltersList = styled.ul` export const FiltersList = styled.ul`
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;

@ -54,13 +54,13 @@ export const MatchesFilters = ({ isMobile }: TFiltersProps) => {
changeInput, changeInput,
clearFilters, clearFilters,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
getDropdownList, getDropdownList,
handleSetFilters, handleSetFilters,
inputValue, inputValue,
isOpenList,
matchesList, matchesList,
openDropdownList, toggleDropdownList,
} = useHeaderFiltersStore() } = useHeaderFiltersStore()
return ( return (
@ -79,9 +79,9 @@ export const MatchesFilters = ({ isMobile }: TFiltersProps) => {
return ( return (
<FilterContainer <FilterContainer
active={isOpenList === filterTitle} active={filtersListName === filterTitle}
key={filterTitle} key={filterTitle}
onClick={openDropdownList(filterTitle)} onClick={toggleDropdownList(filterTitle)}
> >
{/* <T9n className='filter_title' t={filterTitle} /> */} {/* <T9n className='filter_title' t={filterTitle} /> */}
<span className='filter_title'>{filterTitle}</span> <span className='filter_title'>{filterTitle}</span>
@ -111,14 +111,14 @@ export const MatchesFilters = ({ isMobile }: TFiltersProps) => {
</FiltersCount> </FiltersCount>
)} )}
</ActiveFilters> </ActiveFilters>
{isOpenList === filterTitle && !isNil(matchesList) && !isMobileDevice && ( {filtersListName === filterTitle && !isNil(matchesList) && !isMobileDevice && (
<DropDown <DropDown
activeFilters={activeFilters}
changeInput={changeInput} changeInput={changeInput}
inputValue={inputValue}
clearFilters={clearFilters} clearFilters={clearFilters}
activeFilters={activeFilters}
setFilters={handleSetFilters}
filterTitle={filterTitle} filterTitle={filterTitle}
inputValue={inputValue}
setFilters={handleSetFilters}
/> />
)} )}
</FilterContainer> </FilterContainer>

@ -26,11 +26,11 @@ export const MobileMatchesFilters = () => {
clickClearAll, clickClearAll,
closeDropdownList, closeDropdownList,
currentFilters, currentFilters,
filtersListName,
filtersSize, filtersSize,
handleSetFilters, handleSetFilters,
inputValue, inputValue,
isEmptyFilters, isEmptyFilters,
isOpenList,
matchesList, matchesList,
} = useHeaderFiltersStore() } = useHeaderFiltersStore()
@ -54,7 +54,7 @@ export const MobileMatchesFilters = () => {
{filtersSize !== 0 && <FiltersCount>{` ${filtersSize}`}</FiltersCount>} {filtersSize !== 0 && <FiltersCount>{` ${filtersSize}`}</FiltersCount>}
</FilterContainer> </FilterContainer>
<Modal isOpen={isOpen} withCloseButton={false}> <Modal isOpen={isOpen} withCloseButton={false}>
{isEmpty(isOpenList) {!filtersListName
? ( ? (
<> <>
<MatchesFilters isMobile /> <MatchesFilters isMobile />
@ -70,13 +70,13 @@ export const MobileMatchesFilters = () => {
<> <>
{!isNil(matchesList) && ( {!isNil(matchesList) && (
<DropDown <DropDown
activeFilters={activeFilters}
changeInput={changeInput} changeInput={changeInput}
inputValue={inputValue}
clearFilters={clearFilters} clearFilters={clearFilters}
activeFilters={activeFilters}
setFilters={handleSetFilters}
filterTitle={isOpenList}
closeDropdownList={closeDropdownList} closeDropdownList={closeDropdownList}
filterTitle={filtersListName}
inputValue={inputValue}
setFilters={handleSetFilters}
/> />
)} )}
<CloseButton onClick={closeFilters} /> <CloseButton onClick={closeFilters} />

@ -31,7 +31,7 @@ const Home = () => {
isShowConfirmPopup, isShowConfirmPopup,
setIsOpenDownload, setIsOpenDownload,
} = useHomePage() } = useHomePage()
const { isOpenList } = useHeaderFiltersStore() const { filtersListName } = useHeaderFiltersStore()
return ( return (
<PageWrapper> <PageWrapper>
@ -41,7 +41,7 @@ const Home = () => {
setIsOpenDownload={setIsOpenDownload} setIsOpenDownload={setIsOpenDownload}
/> />
) : ( ) : (
<Header disabled={Boolean(isOpenList)} /> <Header disabled={Boolean(filtersListName)} />
)} )}
<Main> <Main>
<UserFavorites /> <UserFavorites />

Loading…
Cancel
Save