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

keep-around/31934c87741a585cc6b3c9552489ffa62de670b6
Andrei Dekterev 3 years ago
parent 1bc99252ac
commit 23b57ef24d
  1. 12
      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, setSelectedDate,
setSelectedFilters, setSelectedFilters,
setSelectedLeague, setSelectedLeague,
setSelectTournament,
} = useHeaderFiltersStore() } = useHeaderFiltersStore()
const { lang } = useLexicsStore() const { lang } = useLexicsStore()
@ -37,11 +38,22 @@ export const useDateFilter = () => {
date: selectedDate, date: selectedDate,
lang, lang,
}) })
const filters = localStorage.getItem('filters')
const parseFilters = filters && JSON.parse(filters)
const lastDate = parseFilters?.selectedDate
useEffect(() => { useEffect(() => {
if (lastDate === selectedDate.toISOString()
&& parseFilters
&& parseFilters.selectedLeague[0] !== 'all_competitions') {
setIsShowTournament(false)
setSelectedLeague(parseFilters.selectedLeague)
setSelectTournament(parseFilters.selectTournament)
} else {
setIsShowTournament(true) setIsShowTournament(true)
setSelectedFilters([]) setSelectedFilters([])
setSelectedLeague(['all_competitions']) setSelectedLeague(['all_competitions'])
}
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedDate]) }, [selectedDate])

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

Loading…
Cancel
Save