diff --git a/web/src/views/search/SearchView.tsx b/web/src/views/search/SearchView.tsx index 06ad73b3e..67b807bf9 100644 --- a/web/src/views/search/SearchView.tsx +++ b/web/src/views/search/SearchView.tsx @@ -23,6 +23,7 @@ import useKeyboardListener, { import scrollIntoView from "scroll-into-view-if-needed"; import InputWithTags from "@/components/input/InputWithTags"; import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; +import { isEqual } from "lodash"; type SearchViewProps = { search: string; @@ -140,6 +141,21 @@ export default function SearchView({ setSelectedIndex(index); }, []); + // update search detail when results change + + useEffect(() => { + if (searchDetail && searchResults) { + const flattenedResults = searchResults.flat(); + const updatedSearchDetail = flattenedResults.find( + (result) => result.id === searchDetail.id, + ); + + if (updatedSearchDetail && !isEqual(updatedSearchDetail, searchDetail)) { + setSearchDetail(updatedSearchDetail); + } + } + }, [searchResults, searchDetail]); + // confidence score - probably needs tweaking const zScoreToConfidence = (score: number, source: string) => {