From 849f079a29550e9106d4aa00254cd81060022634 Mon Sep 17 00:00:00 2001 From: Gabriel Antiqueira Date: Thu, 1 Jul 2021 17:40:01 -0300 Subject: [PATCH] fix(gatsby-theme-store): complex plp navigation (#749) --- .../src/sdk/search/converter/useSearchParamsFromURL.ts | 8 ++------ .../src/sdk/searchBar/controller/index.ts | 1 + .../gatsby-theme-store/src/templates/search.browser.tsx | 3 ++- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/gatsby-theme-store/src/sdk/search/converter/useSearchParamsFromURL.ts b/packages/gatsby-theme-store/src/sdk/search/converter/useSearchParamsFromURL.ts index 3c4d616fed..e41ed2dbdf 100644 --- a/packages/gatsby-theme-store/src/sdk/search/converter/useSearchParamsFromURL.ts +++ b/packages/gatsby-theme-store/src/sdk/search/converter/useSearchParamsFromURL.ts @@ -1,4 +1,3 @@ -import { useLocation } from '@reach/router' import { parseSearchParamsState } from '@vtex/store-sdk' import { useMemo } from 'react' import type { SearchParamsState } from '@vtex/store-sdk' @@ -11,8 +10,5 @@ export interface SelectedFacets { /** * @description: Hydrates search context for dynamic search pages. */ -export const useSearchParamsFromUrl = (): SearchParamsState => { - const { href } = useLocation() - - return useMemo(() => parseSearchParamsState(new URL(href)), [href]) -} +export const useSearchParamsFromUrl = ({ href }: Location): SearchParamsState => + useMemo(() => parseSearchParamsState(new URL(href)), [href]) diff --git a/packages/gatsby-theme-store/src/sdk/searchBar/controller/index.ts b/packages/gatsby-theme-store/src/sdk/searchBar/controller/index.ts index b79c6e67e7..01185a3e8c 100644 --- a/packages/gatsby-theme-store/src/sdk/searchBar/controller/index.ts +++ b/packages/gatsby-theme-store/src/sdk/searchBar/controller/index.ts @@ -59,6 +59,7 @@ export const search = async (term: string) => { const path = `/${slugified}` const exists = await pathExists(path) + params.delete('map') if (exists) { // The page /slugified exists, let's navigate to this page pathname = `/${slugified}` diff --git a/packages/gatsby-theme-store/src/templates/search.browser.tsx b/packages/gatsby-theme-store/src/templates/search.browser.tsx index 3e315d401b..63ab00a124 100644 --- a/packages/gatsby-theme-store/src/templates/search.browser.tsx +++ b/packages/gatsby-theme-store/src/templates/search.browser.tsx @@ -21,9 +21,10 @@ const SearchPage: FC = (props) => { const { pageContext: { hideUnavailableItems }, pageContext, + location, } = props - const searchParams = useSearchParamsFromUrl() + const searchParams = useSearchParamsFromUrl(location) const variables = useQueryVariablesFromSearchParams(searchParams) const redirecting = usePersonalizedSearchRedirect(searchParams)