diff options
Diffstat (limited to 'src/view/screens/Search/Search.tsx')
-rw-r--r-- | src/view/screens/Search/Search.tsx | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx index f031abcc2..b4db270b3 100644 --- a/src/view/screens/Search/Search.tsx +++ b/src/view/screens/Search/Search.tsx @@ -36,6 +36,7 @@ import {useTheme} from 'lib/ThemeContext' import {useSession} from '#/state/session' import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows' import {useSearchPostsQuery} from '#/state/queries/search-posts' +import {useActorSearch} from '#/state/queries/actor-search' import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete' import {useSetDrawerOpen} from '#/state/shell' import {useAnalytics} from '#/lib/analytics/analytics' @@ -278,38 +279,9 @@ function SearchScreenPostResults({query}: {query: string}) { function SearchScreenUserResults({query}: {query: string}) { const {_} = useLingui() - const [isFetched, setIsFetched] = React.useState(false) - const [results, setResults] = React.useState< - AppBskyActorDefs.ProfileViewBasic[] - >([]) - const search = useActorAutocompleteFn() - - React.useEffect(() => { - async function getResults() { - try { - const searchResults = await search({query, limit: 30}) - - if (searchResults) { - setResults(searchResults) - } - } catch (e: any) { - logger.error(`SearchScreenUserResults: failed to get results`, { - error: e.toString(), - }) - } finally { - setIsFetched(true) - } - } - - if (query) { - getResults() - } else { - setResults([]) - setIsFetched(false) - } - }, [query, search, setResults]) + const {data: results, isFetched} = useActorSearch(query) - return isFetched ? ( + return isFetched && results ? ( <> {results.length ? ( <FlatList |