diff options
Diffstat (limited to 'src/view/screens')
-rw-r--r-- | src/view/screens/Search.tsx | 12 | ||||
-rw-r--r-- | src/view/screens/Search.web.tsx | 12 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/view/screens/Search.tsx b/src/view/screens/Search.tsx index 5850915b3..641d144ae 100644 --- a/src/view/screens/Search.tsx +++ b/src/view/screens/Search.tsx @@ -19,6 +19,7 @@ import {useStores} from 'state/index' import {UserAutocompleteViewModel} from 'state/models/user-autocomplete-view' import {SearchUIModel} from 'state/models/ui/search' import {FoafsModel} from 'state/models/discovery/foafs' +import {SuggestedActorsModel} from 'state/models/discovery/suggested-actors' import {HeaderWithInput} from 'view/com/search/HeaderWithInput' import {Suggestions} from 'view/com/search/Suggestions' import {SearchResults} from 'view/com/search/SearchResults' @@ -44,6 +45,10 @@ export const SearchScreen = withAuthRequired( () => new FoafsModel(store), [store], ) + const suggestedActors = React.useMemo<SuggestedActorsModel>( + () => new SuggestedActorsModel(store), + [store], + ) const [searchUIModel, setSearchUIModel] = React.useState< SearchUIModel | undefined >() @@ -65,9 +70,12 @@ export const SearchScreen = withAuthRequired( if (!foafs.hasData) { foafs.fetch() } + if (!suggestedActors.hasLoaded) { + suggestedActors.loadMore(true) + } return cleanup - }, [store, autocompleteView, foafs]), + }, [store, autocompleteView, foafs, suggestedActors]), ) const onChangeQuery = React.useCallback( @@ -163,7 +171,7 @@ export const SearchScreen = withAuthRequired( </Text> </View> ) : ( - <Suggestions foafs={foafs} /> + <Suggestions foafs={foafs} suggestedActors={suggestedActors} /> )} <View style={s.footerSpacer} /> </ScrollView> diff --git a/src/view/screens/Search.web.tsx b/src/view/screens/Search.web.tsx index cb094d952..d12cbc1be 100644 --- a/src/view/screens/Search.web.tsx +++ b/src/view/screens/Search.web.tsx @@ -2,6 +2,7 @@ import React from 'react' import {StyleSheet, View} from 'react-native' import {SearchUIModel} from 'state/models/ui/search' import {FoafsModel} from 'state/models/discovery/foafs' +import {SuggestedActorsModel} from 'state/models/discovery/suggested-actors' import {withAuthRequired} from 'view/com/auth/withAuthRequired' import {ScrollView} from 'view/com/util/Views' import {Suggestions} from 'view/com/search/Suggestions' @@ -24,6 +25,10 @@ export const SearchScreen = withAuthRequired( () => new FoafsModel(store), [store], ) + const suggestedActors = React.useMemo<SuggestedActorsModel>( + () => new SuggestedActorsModel(store), + [store], + ) const searchUIModel = React.useMemo<SearchUIModel | undefined>( () => (route.params.q ? new SearchUIModel(store) : undefined), [route.params.q, store], @@ -36,7 +41,10 @@ export const SearchScreen = withAuthRequired( if (!foafs.hasData) { foafs.fetch() } - }, [foafs, searchUIModel, route.params.q]) + if (!suggestedActors.hasLoaded) { + suggestedActors.loadMore(true) + } + }, [foafs, suggestedActors, searchUIModel, route.params.q]) if (searchUIModel) { return <SearchResults model={searchUIModel} /> @@ -47,7 +55,7 @@ export const SearchScreen = withAuthRequired( testID="searchScrollView" style={[pal.view, styles.container]} scrollEventThrottle={100}> - <Suggestions foafs={foafs} /> + <Suggestions foafs={foafs} suggestedActors={suggestedActors} /> <View style={s.footerSpacer} /> </ScrollView> ) |