diff --git a/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.ts b/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.ts index 58c3767c..c40ca62a 100644 --- a/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.ts +++ b/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/common/utils.ts @@ -1,6 +1,18 @@ import { ReadonlyURLSearchParams } from "next/navigation"; import { SEARCH_PARAMETERS } from "./constants"; +/** + * Return a new URLSearchParams object. + * @param searchParams - Search params. + * @returns new URLSearchParams object. + */ +function getNewURLSearchParams( + searchParams: ReadonlyURLSearchParams | null +): URLSearchParams { + if (!searchParams) return new URLSearchParams(); + return new URLSearchParams(searchParams.toString()); +} + /** * Return the search params, for the given search string. * @param searchParams - Current search params. @@ -8,10 +20,10 @@ import { SEARCH_PARAMETERS } from "./constants"; * @returns updated search params. */ export function getSearchParams( - searchParams: ReadonlyURLSearchParams, + searchParams: ReadonlyURLSearchParams | null, searchStr: string ): URLSearchParams { - const params = new URLSearchParams(searchParams.toString()); + const params = getNewURLSearchParams(searchParams); params.set(SEARCH_PARAMETERS.QUERY, searchStr); return params; }