@@ -17,8 +17,8 @@ import { Button } from '@/components/ui/button'
1717import { Checkbox } from '@/components/ui/checkbox'
1818import { Tooltip , TooltipContent , TooltipTrigger } from '@/components/ui/tooltip'
1919import { createLogger } from '@/lib/logs/console-logger'
20- import { useDebounce } from '@/hooks/use-debounce'
2120import { ActionBar } from '@/app/workspace/[workspaceId]/knowledge/[id]/components/action-bar/action-bar'
21+ import { useDebounce } from '@/hooks/use-debounce'
2222import { useDocumentChunks } from '@/hooks/use-knowledge'
2323import { type ChunkData , type DocumentData , useKnowledgeStore } from '@/stores/knowledge/store'
2424import { useSidebarStore } from '@/stores/sidebar/store'
@@ -63,30 +63,33 @@ export function Document({
6363 const isSidebarCollapsed =
6464 mode === 'expanded' ? ! isExpanded : mode === 'collapsed' || mode === 'hover'
6565
66- const currentPageFromURL = parseInt ( searchParams . get ( 'page' ) || '1' , 10 )
66+ const currentPageFromURL = Number . parseInt ( searchParams . get ( 'page' ) || '1' , 10 )
6767 const searchQueryFromURL = searchParams . get ( 'search' ) || ''
6868
6969 const [ searchQuery , setSearchQuery ] = useState ( searchQueryFromURL )
7070
7171 const debouncedSearchQuery = useDebounce ( searchQuery , 800 )
7272
73- const updateURL = useCallback ( ( newSearch : string , newPage : number = 1 ) => {
74- const params = new URLSearchParams ( searchParams )
75-
76- if ( newSearch ) {
77- params . set ( 'search' , newSearch )
78- } else {
79- params . delete ( 'search' )
80- }
81-
82- if ( newPage > 1 ) {
83- params . set ( 'page' , newPage . toString ( ) )
84- } else {
85- params . delete ( 'page' )
86- }
87-
88- router . replace ( `?${ params . toString ( ) } ` , { scroll : false } )
89- } , [ router , searchParams ] )
73+ const updateURL = useCallback (
74+ ( newSearch : string , newPage = 1 ) => {
75+ const params = new URLSearchParams ( searchParams )
76+
77+ if ( newSearch ) {
78+ params . set ( 'search' , newSearch )
79+ } else {
80+ params . delete ( 'search' )
81+ }
82+
83+ if ( newPage > 1 ) {
84+ params . set ( 'page' , newPage . toString ( ) )
85+ } else {
86+ params . delete ( 'page' )
87+ }
88+
89+ router . replace ( `?${ params . toString ( ) } ` , { scroll : false } )
90+ } ,
91+ [ router , searchParams ]
92+ )
9093
9194 const [ selectedChunks , setSelectedChunks ] = useState < Set < string > > ( new Set ( ) )
9295 const [ selectedChunk , setSelectedChunk ] = useState < ChunkData | null > ( null )
@@ -121,7 +124,7 @@ export function Document({
121124
122125 useEffect ( ( ) => {
123126 if ( ! knowledgeBaseId || ! documentId ) return
124-
127+
125128 if ( debouncedSearchQuery !== searchQueryFromURL ) {
126129 if ( debouncedSearchQuery . trim ( ) . length >= 2 ) {
127130 // Starting a search - go to page 1
@@ -131,7 +134,14 @@ export function Document({
131134 updateURL ( debouncedSearchQuery , pageBeforeSearch )
132135 }
133136 }
134- } , [ debouncedSearchQuery , searchQueryFromURL , updateURL , knowledgeBaseId , documentId , pageBeforeSearch ] )
137+ } , [
138+ debouncedSearchQuery ,
139+ searchQueryFromURL ,
140+ updateURL ,
141+ knowledgeBaseId ,
142+ documentId ,
143+ pageBeforeSearch ,
144+ ] )
135145
136146 useEffect ( ( ) => {
137147 setSearchQuery ( searchQueryFromURL )
@@ -140,7 +150,7 @@ export function Document({
140150 // Track when search starts to save current page
141151 useEffect ( ( ) => {
142152 const isStartingSearch = ! searchQueryFromURL && searchQuery . trim ( )
143-
153+
144154 if ( isStartingSearch ) {
145155 // User just started typing, save current page
146156 setPageBeforeSearch ( currentPageFromURL )
@@ -159,9 +169,12 @@ export function Document({
159169 }
160170 } , [ hasNextPage , updateURL , searchQuery , currentPageFromURL ] )
161171
162- const handleGoToPage = useCallback ( ( page : number ) => {
163- updateURL ( searchQuery , page )
164- } , [ updateURL , searchQuery ] )
172+ const handleGoToPage = useCallback (
173+ ( page : number ) => {
174+ updateURL ( searchQuery , page )
175+ } ,
176+ [ updateURL , searchQuery ]
177+ )
165178
166179 useEffect ( ( ) => {
167180 const fetchDocument = async ( ) => {
@@ -840,4 +853,4 @@ export function Document({
840853 />
841854 </ div >
842855 )
843- }
856+ }
0 commit comments