From 3c5b4fff8f0fe3d5202825f607dd87abc875be6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Chalifour?= Date: Thu, 9 Apr 2020 16:32:42 +0200 Subject: [PATCH] feat(docsearch): save content record hit parent in recent searches --- src/DocSearch.tsx | 10 +++++++--- src/stored-searches.ts | 4 ---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/DocSearch.tsx b/src/DocSearch.tsx index b52a5fb8..71a39d05 100644 --- a/src/DocSearch.tsx +++ b/src/DocSearch.tsx @@ -83,14 +83,18 @@ export function DocSearch({ ).current; const saveRecentSearch = React.useCallback( - function saveRecentSearch(item: StoredDocSearchHit) { + function saveRecentSearch(item: InternalDocSearchHit) { + // We don't store `content` record, but their parent if available. + const search = item.type === 'content' ? item.__docsearch_parent : item; + // We save the recent search only if it's not favorited. if ( + search && favoriteSearches .getAll() - .findIndex(search => search.objectID === item.objectID) === -1 + .findIndex(x => x.objectID === search.objectID) === -1 ) { - recentSearches.add(item); + recentSearches.add(search); } }, [favoriteSearches, recentSearches] diff --git a/src/stored-searches.ts b/src/stored-searches.ts index c2eb768e..028b4f3d 100644 --- a/src/stored-searches.ts +++ b/src/stored-searches.ts @@ -61,10 +61,6 @@ export function createStoredSearches({ ...hit } = (item as unknown) as DocSearchHit; - if (hit.type === 'content') { - return; - } - const isQueryAlreadySaved = items.findIndex( x => x.objectID === hit.objectID );