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 );