diff --git a/surfsense_web/app/dashboard/[search_space_id]/researcher/[chat_id]/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/researcher/[chat_id]/page.tsx
index 9fea403..6be175e 100644
--- a/surfsense_web/app/dashboard/[search_space_id]/researcher/[chat_id]/page.tsx
+++ b/surfsense_web/app/dashboard/[search_space_id]/researcher/[chat_id]/page.tsx
@@ -436,24 +436,17 @@ const ChatPage = () => {
const [documentsPerPage] = useState(10);
const { documents, loading: isLoadingDocuments, error: documentsError } = useDocuments(Number(search_space_id));
- // Custom hook for debounced search
- const useDebounce = (value: string, delay: number) => {
- useEffect(() => {
- const handler = setTimeout(() => {
- setDebouncedDocumentFilter(value);
- setDocumentsPage(1); // Reset page when search changes
- }, delay);
+ // Debounced search effect (proper implementation)
+ useEffect(() => {
+ const handler = setTimeout(() => {
+ setDebouncedDocumentFilter(documentFilter);
+ setDocumentsPage(1); // Reset page when search changes
+ }, 300);
- return () => {
- clearTimeout(handler);
- };
- }, [value, delay]);
-
- return debouncedDocumentFilter;
- };
-
- // Use debounced search
- useDebounce(documentFilter, 300);
+ return () => {
+ clearTimeout(handler);
+ };
+ }, [documentFilter]);
// Memoized filtered and paginated documents
const filteredDocuments = useMemo(() => {
@@ -1291,12 +1284,15 @@ const ChatPage = () => {
)}
- {/* Document Type Filter */}
-
+ {/* Document Type Filter */}
+ {
+ setDocumentTypeFilter(newType);
+ setDocumentsPage(1); // Reset to page 1 when filter changes
+ }}
+ counts={documentTypeCounts}
+ />
{/* Results Summary */}