mirror of
https://github.com/MODSetter/SurfSense.git
synced 2025-09-02 10:39:13 +00:00
refactor: streamline debounced search implementation and enhance document type filter behavior
This commit is contained in:
parent
b356569854
commit
57c9bcbccb
1 changed files with 19 additions and 23 deletions
|
@ -436,24 +436,17 @@ const ChatPage = () => {
|
||||||
const [documentsPerPage] = useState(10);
|
const [documentsPerPage] = useState(10);
|
||||||
const { documents, loading: isLoadingDocuments, error: documentsError } = useDocuments(Number(search_space_id));
|
const { documents, loading: isLoadingDocuments, error: documentsError } = useDocuments(Number(search_space_id));
|
||||||
|
|
||||||
// Custom hook for debounced search
|
// Debounced search effect (proper implementation)
|
||||||
const useDebounce = (value: string, delay: number) => {
|
useEffect(() => {
|
||||||
useEffect(() => {
|
const handler = setTimeout(() => {
|
||||||
const handler = setTimeout(() => {
|
setDebouncedDocumentFilter(documentFilter);
|
||||||
setDebouncedDocumentFilter(value);
|
setDocumentsPage(1); // Reset page when search changes
|
||||||
setDocumentsPage(1); // Reset page when search changes
|
}, 300);
|
||||||
}, delay);
|
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
clearTimeout(handler);
|
clearTimeout(handler);
|
||||||
};
|
};
|
||||||
}, [value, delay]);
|
}, [documentFilter]);
|
||||||
|
|
||||||
return debouncedDocumentFilter;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Use debounced search
|
|
||||||
useDebounce(documentFilter, 300);
|
|
||||||
|
|
||||||
// Memoized filtered and paginated documents
|
// Memoized filtered and paginated documents
|
||||||
const filteredDocuments = useMemo(() => {
|
const filteredDocuments = useMemo(() => {
|
||||||
|
@ -1291,12 +1284,15 @@ const ChatPage = () => {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Document Type Filter */}
|
{/* Document Type Filter */}
|
||||||
<DocumentTypeFilter
|
<DocumentTypeFilter
|
||||||
value={documentTypeFilter}
|
value={documentTypeFilter}
|
||||||
onChange={setDocumentTypeFilter}
|
onChange={(newType) => {
|
||||||
counts={documentTypeCounts}
|
setDocumentTypeFilter(newType);
|
||||||
/>
|
setDocumentsPage(1); // Reset to page 1 when filter changes
|
||||||
|
}}
|
||||||
|
counts={documentTypeCounts}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Results Summary */}
|
{/* Results Summary */}
|
||||||
|
|
Loading…
Add table
Reference in a new issue