From 6bc26cd59df699528819893799928f02c889373f Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Tue, 17 Sep 2024 12:12:00 -0500 Subject: [PATCH] special case for similarity searches --- web/src/components/input/InputWithTags.tsx | 30 ++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/web/src/components/input/InputWithTags.tsx b/web/src/components/input/InputWithTags.tsx index a9ec82237..1e241a8bc 100644 --- a/web/src/components/input/InputWithTags.tsx +++ b/web/src/components/input/InputWithTags.tsx @@ -101,6 +101,7 @@ export default function InputWithTags({ const [currentFilterType, setCurrentFilterType] = useState( null, ); + const [isSimilaritySearch, setIsSimilaritySearch] = useState(false); const inputRef = useRef(null); const containerRef = useRef(null); const suggestionRef = useRef(null); @@ -331,7 +332,9 @@ export default function InputWithTags({ updateSuggestions("", null); setShowFilters(false); setShowSuggestions(false); - }, [setFilters, updateSuggestions]); + setIsSimilaritySearch(false); + setSearch(""); + }, [setFilters, updateSuggestions, setSearch]); const handleInputBlur = useCallback(() => { setTimeout(() => { @@ -410,6 +413,16 @@ export default function InputWithTags({ setInputValue(search || ""); }, [search]); + useEffect(() => { + if (search?.startsWith("similarity:")) { + setIsSimilaritySearch(true); + setInputValue(""); + } else { + setIsSimilaritySearch(false); + setInputValue(search || ""); + } + }, [search]); + return (
@@ -456,11 +469,24 @@ export default function InputWithTags({ )}
- {((showFilters && Object.keys(filters).length > 0) || + {((showFilters && + (Object.keys(filters).length > 0 || isSimilaritySearch)) || showSuggestions) && (
{showFilters && Object.keys(filters).length > 0 && (
+ {isSimilaritySearch && ( + + Similarity Search + + + )} {Object.entries(filters).map(([filterType, filterValues]) => Array.isArray(filterValues) ? ( filterValues.map((value, index) => (