diff options
| author | Ashm Walia <40498934+ashmgarv@users.noreply.github.com> | 2020-12-04 08:50:24 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-04 11:50:24 -0500 |
| commit | 0fd892ad288f2e1eaaa4fdf5e1fd6f15dbd45860 (patch) | |
| tree | d7d53d94c6c4026ac9b325508ebce4706d412ac4 /src/components/search | |
| parent | f620102190629e0b6f180d3ce056d850b1db5aaa (diff) | |
[TMA - 398 AND TMA-430] Replace Providers with Redux Store (#125)
* First
* WIP
* Thunk
* Some more comments
* sc
* recent searches and follounfollow
* Edit profile dummy
* Block / unblock and some cleanup
* Replace auth provider
* Sc
* Delete AP after rebase
* Discover users
* Cleanup
* More cleanup
* Replace profile provider
* Fixed build failure
* Fixed a bug reported
* Prevent app crash when backend server is down
Diffstat (limited to 'src/components/search')
| -rw-r--r-- | src/components/search/DiscoverUsers.tsx | 19 | ||||
| -rw-r--r-- | src/components/search/RecentSearches.tsx | 13 | ||||
| -rw-r--r-- | src/components/search/SearchResults.tsx | 14 |
3 files changed, 33 insertions, 13 deletions
diff --git a/src/components/search/DiscoverUsers.tsx b/src/components/search/DiscoverUsers.tsx index 885c712b..ec0a8daa 100644 --- a/src/components/search/DiscoverUsers.tsx +++ b/src/components/search/DiscoverUsers.tsx @@ -6,23 +6,32 @@ import { StyleSheet, TouchableOpacityProps, } from 'react-native'; -import {ProfilePreviewType} from '../../types'; +import {PreviewType, ProfilePreviewType, ScreenType} from '../../types'; import SearchResults from './SearchResults'; interface DiscoverUsersProps extends TouchableOpacityProps { - sectionTitle: string; + sectionTitle: PreviewType; users: Array<ProfilePreviewType>; + screenType: ScreenType; } /** * An image component that returns the <Image> of the icon for a specific social media platform. */ -const DiscoverUsers: React.FC<DiscoverUsersProps> = (props) => { +const DiscoverUsers: React.FC<DiscoverUsersProps> = ({ + sectionTitle, + screenType, + users, +}) => { return ( <View style={styles.container}> <View style={styles.headerContainer}> - <Text style={styles.title}>{props.sectionTitle}</Text> + <Text style={styles.title}>{sectionTitle}</Text> </View> - <SearchResults results={props.users} previewType={props.sectionTitle} /> + <SearchResults + results={users} + previewType={sectionTitle} + screenType={screenType} + /> </View> ); }; diff --git a/src/components/search/RecentSearches.tsx b/src/components/search/RecentSearches.tsx index 6a98e49a..22a36a6b 100644 --- a/src/components/search/RecentSearches.tsx +++ b/src/components/search/RecentSearches.tsx @@ -6,14 +6,15 @@ import { StyleSheet, TouchableOpacityProps, } from 'react-native'; -import {ProfilePreviewType} from 'src/types'; -import { TAGG_TEXT_LIGHT_BLUE } from '../../constants'; +import {PreviewType, ProfilePreviewType, ScreenType} from 'src/types'; +import {TAGG_TEXT_LIGHT_BLUE} from '../../constants'; import SearchResults from './SearchResults'; interface RecentSearchesProps extends TouchableOpacityProps { - sectionTitle: string; + sectionTitle: PreviewType; sectionButtonTitle: string; recents: Array<ProfilePreviewType>; + screenType: ScreenType; } /** * An image component that returns the <Image> of the icon for a specific social media platform. @@ -29,7 +30,11 @@ const RecentSearches: React.FC<RecentSearchesProps> = (props) => { </TouchableOpacity> )} </View> - <SearchResults results={props.recents} previewType={props.sectionTitle} /> + <SearchResults + results={props.recents} + previewType={props.sectionTitle} + screenType={props.screenType} + /> </> ); }; diff --git a/src/components/search/SearchResults.tsx b/src/components/search/SearchResults.tsx index 2d5c9db8..001c7968 100644 --- a/src/components/search/SearchResults.tsx +++ b/src/components/search/SearchResults.tsx @@ -1,20 +1,26 @@ import React from 'react'; -import {ProfilePreviewType, PreviewType} from '../../types'; +import {ProfilePreviewType, PreviewType, ScreenType} from '../../types'; import ProfilePreview from '../profile/ProfilePreview'; import {StyleSheet, View} from 'react-native'; interface SearchResultsProps { results: Array<ProfilePreviewType>; previewType: PreviewType; + screenType: ScreenType; } -const SearchResults: React.FC<SearchResultsProps> = (props) => { +const SearchResults: React.FC<SearchResultsProps> = ({ + results, + previewType, + screenType, +}) => { return ( <View style={styles.container}> - {props.results.map((profilePreview) => ( + {results.map((profilePreview) => ( <ProfilePreview style={styles.result} key={profilePreview.id} {...{profilePreview}} - previewType={props.previewType} + previewType={previewType} + screenType={screenType} /> ))} </View> |
