Fix search query autocomplete lagging behind (#10381)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import {useCallback} from 'react'
|
import {useCallback, useMemo} from 'react'
|
||||||
import {moderateProfile, type ModerationOpts} from '@atproto/api'
|
import {moderateProfile, type ModerationOpts} from '@atproto/api'
|
||||||
import {keepPreviousData, useQuery} from '@tanstack/react-query'
|
import {keepPreviousData, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
@@ -90,6 +90,20 @@ export function useAutocomplete({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return results
|
||||||
|
},
|
||||||
|
[q, moderationOpts],
|
||||||
|
),
|
||||||
|
placeholderData: keepPreviousData,
|
||||||
|
})
|
||||||
|
|
||||||
|
const items = useMemo(() => {
|
||||||
|
if (!query.data) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
const results = [...query.data]
|
||||||
|
|
||||||
if (showSearchFallback && q) {
|
if (showSearchFallback && q) {
|
||||||
results.unshift({
|
results.unshift({
|
||||||
key: `search-${q}`,
|
key: `search-${q}`,
|
||||||
@@ -99,15 +113,11 @@ export function useAutocomplete({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return results
|
return results
|
||||||
},
|
}, [query.data, showSearchFallback, q])
|
||||||
[q, showSearchFallback, moderationOpts],
|
|
||||||
),
|
|
||||||
placeholderData: keepPreviousData,
|
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
query: q,
|
query: q,
|
||||||
items: query.data || [],
|
items,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user