From aff5b3713d185a3cc3c61f11deb444a4d2d10e82 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Tue, 24 Sep 2024 07:03:14 -0500 Subject: [PATCH] update search detail when results change --- web/src/views/search/SearchView.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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) => {