import { ArrowRight, Search, X } from "lucide-react"; import { type ChangeEvent, type FormEvent, useCallback, useEffect, useState, } from "react"; import { Button } from "@/components/ui/button"; import { useKnowledgeFilter } from "@/contexts/knowledge-filter-context"; import { cn } from "@/lib/utils"; import { filterAccentClasses } from "./knowledge-filter-panel"; export const KnowledgeSearchInput = () => { const { selectedFilter, setSelectedFilter, parsedFilterData, queryOverride, setQueryOverride, } = useKnowledgeFilter(); const [searchQueryInput, setSearchQueryInput] = useState(queryOverride || ""); const handleSearch = useCallback( (e?: FormEvent) => { if (e) e.preventDefault(); setQueryOverride(searchQueryInput.trim()); }, [searchQueryInput, setQueryOverride], ); // Reset the query text when the selected filter changes useEffect(() => { setSearchQueryInput(queryOverride); }, [queryOverride]); return (
{selectedFilter?.name && (
{selectedFilter?.name} setSelectedFilter(null)} />
)} ) => setSearchQueryInput(e.target.value) } /> {queryOverride && ( )}
); };