diff --git a/examples/demo/src/routes/ProductPage.tsx b/examples/demo/src/routes/ProductPage.tsx index 63a4a589..3bd43392 100644 --- a/examples/demo/src/routes/ProductPage.tsx +++ b/examples/demo/src/routes/ProductPage.tsx @@ -103,6 +103,9 @@ export const ProductPage: React.FC = () => { ? [`brand:${selectedFacetValue}`] : [], }} + fallbackParameters={{ + facetFilters: [`brand:${selectedProduct.brand}`], + }} view={({ itemComponent, items }) => ( ({ diff --git a/packages/recommend-core/src/getFrequentlyBoughtTogether.ts b/packages/recommend-core/src/getFrequentlyBoughtTogether.ts index f5a22f9e..fcd4bd18 100644 --- a/packages/recommend-core/src/getFrequentlyBoughtTogether.ts +++ b/packages/recommend-core/src/getFrequentlyBoughtTogether.ts @@ -1,4 +1,7 @@ -import { FrequentlyBoughtTogetherQuery } from '@algolia/recommend'; +import { + FrequentlyBoughtTogetherQuery, + RecommendationsQuery, +} from '@algolia/recommend'; import { RecommendationsProps } from './getRecommendations'; import { ProductRecord } from './types'; @@ -10,18 +13,23 @@ import { version } from './version'; export type GetFrequentlyBoughtTogetherProps< TObject > = RecommendationsProps & - Omit; + Omit & { + // add fallback parameters manually as it is not supported in @algolia/recommend v4 + fallbackParameters?: RecommendationsQuery['fallbackParameters']; + }; export function getFrequentlyBoughtTogether({ objectIDs, recommendClient, transformItems = (x) => x, + fallbackParameters, indexName, maxRecommendations, queryParameters, threshold, }: GetFrequentlyBoughtTogetherProps) { const queries = objectIDs.map((objectID) => ({ + fallbackParameters, indexName, maxRecommendations, objectID,