[questions][fix] fix query params updating wrongly

pull/355/head
Jeff Sieu 3 years ago
parent 1dde481928
commit 8ebb06fe8f

@ -46,13 +46,15 @@ export default function QuestionSearchBar<
value={sortValue}
onChange={onSortChange}
/>
<Button
addonPosition="start"
icon={AdjustmentsHorizontalIcon}
label="Filter options"
variant="tertiary"
onClick={onFilterOptionsToggle}
/>
<div className="lg:hidden">
<Button
addonPosition="start"
icon={AdjustmentsHorizontalIcon}
label="Filter options"
variant="tertiary"
onClick={onFilterOptionsToggle}
/>
</div>
</div>
);
}

@ -143,19 +143,38 @@ export default function QuestionsHomePage() {
]);
useEffect(() => {
if (areFiltersInitialized) {
if (areFiltersInitialized && !loaded) {
// Update query params
router.replace({
pathname: router.pathname,
query: {
companies: selectedCompanies,
locations: selectedLocations,
questionAge: selectedQuestionAge,
questionTypes: selectedQuestionTypes,
},
});
const hasFilter =
router.query.companies ||
router.query.questionTypes ||
router.query.questionAge ||
router.query.locations;
selectedCompanies.length > 0 ||
selectedLocations.length > 0 ||
selectedQuestionAge !== 'all' ||
selectedQuestionTypes.length > 0;
if (hasFilter) {
setHasLanded(true);
}
// Console.log('landed', hasLanded);
setLoaded(true);
}
}, [areFiltersInitialized, hasLanded, router.query]);
}, [
areFiltersInitialized,
hasLanded,
loaded,
router,
selectedCompanies,
selectedLocations,
selectedQuestionAge,
selectedQuestionTypes,
]);
if (!loaded) {
return null;
@ -291,7 +310,7 @@ export default function QuestionsHomePage() {
<h2 className="px-4 text-xl font-semibold">Filter by</h2>
{filterSidebar}
</aside>
<div className="hidden">
<div className="lg:hidden">
<SlideOut
enterFrom="end"
isShown={filterDrawerOpen}

@ -27,13 +27,6 @@ export const useSearchFilter = <Value extends string = string>(
if (localStorageValue !== null) {
const loadedFilters = JSON.parse(localStorageValue);
setFilters(loadedFilters);
router.replace({
pathname: router.pathname,
query: {
...router.query,
[name]: loadedFilters,
},
});
}
}
setIsInitialized(true);

Loading…
Cancel
Save