diff --git a/lib/setSearchParams.ts b/lib/setSearchParams.ts index 6f1fa0631..0882e14b5 100644 --- a/lib/setSearchParams.ts +++ b/lib/setSearchParams.ts @@ -26,10 +26,13 @@ export const setSearchParams = ( }; export const setManySearchParams = ( - newParams: { key: string; value: string | string[] | undefined }[] + newParams: { key: string; value: string | string[] | undefined }[], + setAll?: boolean ) => { const url = new URL(window.location.href); - const params = new URLSearchParams(url.search); + const params = setAll + ? new URLSearchParams() + : new URLSearchParams(url.search); newParams.forEach(({ key, value }) => { if (!value) { diff --git a/pages/maps.tsx b/pages/maps.tsx index 628078cb5..e29b4d63a 100644 --- a/pages/maps.tsx +++ b/pages/maps.tsx @@ -106,7 +106,7 @@ const MapsGeneratorPage = () => { const newStagesSelected = { ...stagesSelected, [stage]: newArray }; setStagesSelected(newStagesSelected); - setManySearchParams(poolForUrl(newStagesSelected)); + setManySearchParams(poolForUrl(newStagesSelected), true); }; const generateMaps = () => { @@ -216,7 +216,7 @@ const MapsGeneratorPage = () => { if (!buttonIsAdd) delete newStagesSelected[stage]; setStagesSelected(newStagesSelected); - setManySearchParams(poolForUrl(newStagesSelected)); + setManySearchParams(poolForUrl(newStagesSelected), true); }} > {buttonIsAdd ? All : Clear}