diff --git a/src/renderer/utils/parse-search-params.ts b/src/renderer/utils/parse-search-params.ts index 95967158..e335d308 100644 --- a/src/renderer/utils/parse-search-params.ts +++ b/src/renderer/utils/parse-search-params.ts @@ -1,3 +1,17 @@ +import isUndefined from 'lodash/isUndefined'; +import omitBy from 'lodash/omitBy'; + export const parseSearchParams = (searchParams: Record) => { - return JSON.parse(JSON.stringify(searchParams)); + const params = new URLSearchParams(); + const paramsWithoutUndefined = omitBy(searchParams, isUndefined); + + Object.entries(paramsWithoutUndefined).forEach(([key, value]) => { + if (!Array.isArray(value)) { + params.append(key, value.toString()); + } else { + value.forEach((value) => params.append(key, value.toString())); + } + }); + + return params.toString(); };