defer search screen

This commit is contained in:
Samuel Newman
2025-07-07 18:05:06 +03:00
parent fd37d92f85
commit 290b52fb04
+8 -7
View File
@@ -1,6 +1,7 @@
import { import {
memo, memo,
useCallback, useCallback,
useDeferredValue,
useLayoutEffect, useLayoutEffect,
useMemo, useMemo,
useRef, useRef,
@@ -75,9 +76,10 @@ export function SearchScreenShell({
const queryClient = useQueryClient() const queryClient = useQueryClient()
// Query terms // Query terms
const [searchText, setSearchText] = useState<string>(queryParam) const [searchText, setSearchText] = useState(queryParam)
const deferredSearchText = useDeferredValue(searchText)
const {data: autocompleteData, isFetching: isAutocompleteFetching} = const {data: autocompleteData, isFetching: isAutocompleteFetching} =
useActorAutocompleteQuery(searchText, true) useActorAutocompleteQuery(deferredSearchText, true)
const [showAutocomplete, setShowAutocomplete] = useState(false) const [showAutocomplete, setShowAutocomplete] = useState(false)
@@ -203,8 +205,8 @@ export function SearchScreenShell({
}, [setShowAutocomplete, setSearchText, navigation, route.params, route.name]) }, [setShowAutocomplete, setSearchText, navigation, route.params, route.name])
const onSubmit = useCallback(() => { const onSubmit = useCallback(() => {
navigateToItem(searchText) navigateToItem(deferredSearchText)
}, [navigateToItem, searchText]) }, [navigateToItem, deferredSearchText])
const onAutocompleteResultPress = useCallback(() => { const onAutocompleteResultPress = useCallback(() => {
if (isWeb) { if (isWeb) {
@@ -376,11 +378,11 @@ export function SearchScreenShell({
display: showAutocomplete && !fixedParams ? 'flex' : 'none', display: showAutocomplete && !fixedParams ? 'flex' : 'none',
flex: 1, flex: 1,
}}> }}>
{searchText.length > 0 ? ( {deferredSearchText.length > 0 ? (
<AutocompleteResults <AutocompleteResults
isAutocompleteFetching={isAutocompleteFetching} isAutocompleteFetching={isAutocompleteFetching}
autocompleteData={autocompleteData} autocompleteData={autocompleteData}
searchText={searchText} searchText={deferredSearchText}
onSubmit={onSubmit} onSubmit={onSubmit}
onResultPress={onAutocompleteResultPress} onResultPress={onAutocompleteResultPress}
onProfileClick={handleProfileClick} onProfileClick={handleProfileClick}
@@ -428,7 +430,6 @@ let SearchScreenInner = ({
const {hasSession} = useSession() const {hasSession} = useSession()
const {gtTablet} = useBreakpoints() const {gtTablet} = useBreakpoints()
const [activeTab, setActiveTab] = useState(0) const [activeTab, setActiveTab] = useState(0)
const {_} = useLingui()
const onPageSelected = useCallback( const onPageSelected = useCallback(
(index: number) => { (index: number) => {