diff --git a/app/search/[collection]/page.tsx b/app/search/[collection]/page.tsx
index 0909ce882..52dfb94e9 100644
--- a/app/search/[collection]/page.tsx
+++ b/app/search/[collection]/page.tsx
@@ -44,7 +44,8 @@ async function CategoryPage({
searchParams?: { [key: string]: string | string[] | undefined };
}) {
const { products, filters, pageInfo } = await getProductsInCollection({
- searchParams
+ searchParams,
+ collection: params.collection
});
return (
@@ -65,7 +66,7 @@ async function CategoryPage({
@@ -95,7 +96,10 @@ export default async function CategorySearchPage(props: {
fallback={}
key={`filters-${props.params.collection}`}
>
-
+
diff --git a/app/search/page.tsx b/app/search/page.tsx
index 320795690..e4ab6659c 100644
--- a/app/search/page.tsx
+++ b/app/search/page.tsx
@@ -41,7 +41,6 @@ export default async function SearchPage({
initialProducts={products}
pageInfo={pageInfo}
searchParams={searchParams}
- page="search"
/>
) : null}
diff --git a/components/layout/products-list/actions.ts b/components/layout/products-list/actions.ts
index b04743672..a76e8cd0f 100644
--- a/components/layout/products-list/actions.ts
+++ b/components/layout/products-list/actions.ts
@@ -64,14 +64,16 @@ const constructFilterInput = (filters: {
export const getProductsInCollection = async ({
searchParams,
- afterCursor
+ afterCursor,
+ collection
}: {
searchParams?: {
[key: string]: string | string[] | undefined;
};
afterCursor?: string;
+ collection?: string;
}) => {
- const { sort, q, collection, ...rest } = searchParams as { [key: string]: string };
+ const { sort, q, ...rest } = searchParams as { [key: string]: string };
const { sortKey, reverse } = sorting.find((item) => item.slug === sort) || defaultSort;
const filtersInput = constructFilterInput(rest);
diff --git a/components/layout/products-list/index.tsx b/components/layout/products-list/index.tsx
index 3ebc98efc..c41f9b5c0 100644
--- a/components/layout/products-list/index.tsx
+++ b/components/layout/products-list/index.tsx
@@ -13,7 +13,7 @@ const ProductsList = ({
initialProducts,
pageInfo,
searchParams,
- page
+ collection
}: {
initialProducts: Product[];
pageInfo: {
@@ -21,7 +21,7 @@ const ProductsList = ({
hasNextPage: boolean;
};
searchParams?: { [key: string]: string | string[] | undefined };
- page: 'search' | 'collection';
+ collection?: string;
}) => {
const [products, setProducts] = useState(initialProducts);
const [_pageInfo, setPageInfo] = useState(pageInfo);
@@ -31,13 +31,13 @@ const ProductsList = ({
try {
const params = {
searchParams,
- afterCursor: _pageInfo.endCursor
+ afterCursor: _pageInfo.endCursor,
+ collection
};
setIsLoading(true);
- const { products, pageInfo } =
- page === 'collection'
- ? await getProductsInCollection(params)
- : await searchProducts(params);
+ const { products, pageInfo } = collection
+ ? await getProductsInCollection(params)
+ : await searchProducts(params);
setProducts((prev) => [...prev, ...products]);
setPageInfo({
diff --git a/components/layout/search/filters/filters-container.tsx b/components/layout/search/filters/filters-container.tsx
index ff36f6822..5b9a5b109 100644
--- a/components/layout/search/filters/filters-container.tsx
+++ b/components/layout/search/filters/filters-container.tsx
@@ -2,12 +2,15 @@ import { getProductsInCollection } from 'components/layout/products-list/actions
import FiltersList from './filters-list';
const FiltersContainer = async ({
- searchParams
+ searchParams,
+ collection
}: {
searchParams?: { [key: string]: string | string[] | undefined };
+ collection: string;
}) => {
const { filters } = await getProductsInCollection({
- searchParams
+ searchParams,
+ collection
});
return ;