fix(#2662): save value filters for back btn from matchpage

keep-around/31934c87741a585cc6b3c9552489ffa62de670b6
Andrei Dekterev 3 years ago
parent 1bc99252ac
commit 23b57ef24d
  1. 18
      src/features/HeaderFilters/components/DateFilter/hooks/index.tsx
  2. 8
      src/features/HeaderFilters/store/hooks/index.tsx

@ -20,6 +20,7 @@ export const useDateFilter = () => {
setSelectedDate,
setSelectedFilters,
setSelectedLeague,
setSelectTournament,
} = useHeaderFiltersStore()
const { lang } = useLexicsStore()
@ -37,11 +38,22 @@ export const useDateFilter = () => {
date: selectedDate,
lang,
})
const filters = localStorage.getItem('filters')
const parseFilters = filters && JSON.parse(filters)
const lastDate = parseFilters?.selectedDate
useEffect(() => {
setIsShowTournament(true)
setSelectedFilters([])
setSelectedLeague(['all_competitions'])
if (lastDate === selectedDate.toISOString()
&& parseFilters
&& parseFilters.selectedLeague[0] !== 'all_competitions') {
setIsShowTournament(false)
setSelectedLeague(parseFilters.selectedLeague)
setSelectTournament(parseFilters.selectTournament)
} else {
setIsShowTournament(true)
setSelectedFilters([])
setSelectedLeague(['all_competitions'])
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedDate])

@ -36,6 +36,14 @@ export const useFilters = () => {
const resetFilters = useCallback(() => {
setSelectedDate(new Date())
}, [setSelectedDate])
useEffect(() => {
localStorage.setItem('filters', JSON.stringify({
selectTournament,
selectedDate,
selectedLeague,
}))
// eslint-disable-next-line
}, [selectTournament])
useEffect(() => {
if (!search) {

Loading…
Cancel
Save