From 066789417ea846ffd5e96a8bc3de7b8be8907d8e Mon Sep 17 00:00:00 2001 From: Rithvik Nishad Date: Fri, 12 Jan 2024 12:10:33 +0530 Subject: [PATCH] prevent resetting the filters cache on page load (#7009) * fixes #7008; fix resetting the filters on page visit * fix existing filters not being cleared * fix --- src/Common/hooks/useFilters.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Common/hooks/useFilters.tsx b/src/Common/hooks/useFilters.tsx index 5781eaca54f..117a14ba418 100644 --- a/src/Common/hooks/useFilters.tsx +++ b/src/Common/hooks/useFilters.tsx @@ -1,4 +1,4 @@ -import { useQueryParams } from "raviger"; +import { QueryParam, setQueryParamsOptions, useQueryParams } from "raviger"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import GenericFilterBadge from "../../CAREUI/display/FilterBadge"; @@ -23,7 +23,15 @@ export default function useFilters({ limit = 14 }: { limit?: number }) { const { kasp_string } = useConfig(); const hasPagination = limit > 0; const [showFilters, setShowFilters] = useState(false); - const [qParams, setQueryParams] = useQueryParams(); + const [qParams, _setQueryParams] = useQueryParams(); + + const setQueryParams = ( + query: QueryParam, + options?: setQueryParamsOptions + ) => { + _setQueryParams(query, options); + updateFiltersCache(query); + }; const updateQuery = (filter: FilterState) => { filter = hasPagination ? { page: 1, limit, ...filter } : filter; @@ -38,8 +46,6 @@ export default function useFilters({ limit = 14 }: { limit?: number }) { }; const removeFilter = (param: string) => removeFilters([param]); - useEffect(() => updateFiltersCache(qParams), [qParams]); - useEffect(() => { const cache = getFiltersCache(); const qParamKeys = Object.keys(qParams);