use isFetching from query

This commit is contained in:
Hailey
2024-04-23 12:12:42 -07:00
parent 7dea543b8b
commit dad7888996
+7 -7
View File
@@ -544,7 +544,6 @@ export function SearchScreen(
const searchDebounceTimeout = React.useRef<NodeJS.Timeout | undefined>( const searchDebounceTimeout = React.useRef<NodeJS.Timeout | undefined>(
undefined, undefined,
) )
const [isFetching, setIsFetching] = React.useState<boolean>(false)
// Query terms // Query terms
const q = props.route?.params?.q ?? '' const q = props.route?.params?.q ?? ''
@@ -552,7 +551,8 @@ export function SearchScreen(
const [searchInput, setSearchInput] = React.useState<string>(q) const [searchInput, setSearchInput] = React.useState<string>(q)
const throttledInput = useThrottledValue(searchInput, 300) const throttledInput = useThrottledValue(searchInput, 300)
const autocompleteResults = useActorAutocompleteQuery(throttledInput) const {data: autocompleteData, isFetching: isAutocompleteFetching} =
useActorAutocompleteQuery(throttledInput)
const [inputIsFocused, setInputIsFocused] = React.useState(false) const [inputIsFocused, setInputIsFocused] = React.useState(false)
const [showAutocompleteResults, setShowAutocompleteResults] = const [showAutocompleteResults, setShowAutocompleteResults] =
@@ -599,7 +599,6 @@ export function SearchScreen(
setSearchInput(text) setSearchInput(text)
const showAutoComplete = text.length > 0 const showAutoComplete = text.length > 0
setIsFetching(showAutoComplete)
setShowAutocompleteResults(showAutoComplete) setShowAutocompleteResults(showAutoComplete)
}, []) }, [])
@@ -710,7 +709,7 @@ export function SearchScreen(
placeholderTextColor={pal.colors.textLight} placeholderTextColor={pal.colors.textLight}
selectTextOnFocus={isNative} selectTextOnFocus={isNative}
returnKeyType="search" returnKeyType="search"
value={query} value={searchInput}
style={[pal.text, styles.headerSearchInput]} style={[pal.text, styles.headerSearchInput]}
keyboardAppearance={theme.colorScheme} keyboardAppearance={theme.colorScheme}
onFocus={() => setInputIsFocused(true)} onFocus={() => setInputIsFocused(true)}
@@ -763,7 +762,8 @@ export function SearchScreen(
{showAutocompleteResults ? ( {showAutocompleteResults ? (
<> <>
{isFetching || !moderationOpts ? ( {/* TODO avoid showing spinner if we have any previous results -hailey */}
{(isAutocompleteFetching && !autocompleteData) || !moderationOpts ? (
<Loader /> <Loader />
) : ( ) : (
<ScrollView <ScrollView
@@ -773,7 +773,7 @@ export function SearchScreen(
keyboardShouldPersistTaps="handled" keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"> keyboardDismissMode="on-drag">
<SearchLinkCard <SearchLinkCard
label={_(msg`Search for "${query}"`)} label={_(msg`Search for "${searchInput}"`)}
onPress={isNative ? onSubmit : undefined} onPress={isNative ? onSubmit : undefined}
to={ to={
isNative isNative
@@ -790,7 +790,7 @@ export function SearchScreen(
/> />
) : null} ) : null}
{autocompleteResults.data?.map(item => ( {autocompleteData?.map(item => (
<SearchProfileCard <SearchProfileCard
key={item.did} key={item.did}
profile={item} profile={item}