From 32bf3bf2cfa2f4499711225b2f1da5f3ed274832 Mon Sep 17 00:00:00 2001 From: Leon Jiang <35908040+leonyjiang@users.noreply.github.com> Date: Mon, 8 Mar 2021 05:49:55 -0500 Subject: Add categories to recently-searched results --- src/components/search/RecentSearches.tsx | 27 ++++++++++++----- src/components/search/SearchResults.tsx | 52 +++++++++++++++++++++----------- 2 files changed, 55 insertions(+), 24 deletions(-) (limited to 'src/components') diff --git a/src/components/search/RecentSearches.tsx b/src/components/search/RecentSearches.tsx index 5db1342c..89379596 100644 --- a/src/components/search/RecentSearches.tsx +++ b/src/components/search/RecentSearches.tsx @@ -7,7 +7,12 @@ import { TouchableOpacityProps, ScrollView, } from 'react-native'; -import {PreviewType, ProfilePreviewType, ScreenType} from '../../types'; +import { + PreviewType, + ProfilePreviewType, + ScreenType, + CategoryPreviewType, +} from '../../types'; import {TAGG_LIGHT_BLUE} from '../../constants'; import SearchResults from './SearchResults'; import {SCREEN_HEIGHT} from '../../utils'; @@ -16,26 +21,35 @@ interface RecentSearchesProps extends TouchableOpacityProps { sectionTitle: PreviewType; sectionButtonTitle: string; recents: Array; + recentCategories: CategoryPreviewType[]; screenType: ScreenType; } const RecentSearches: React.FC = (props) => { + const { + sectionTitle, + sectionButtonTitle, + recents, + recentCategories, + screenType, + } = props; return ( - {props.sectionTitle} - {props.sectionButtonTitle && ( + {sectionTitle} + {sectionButtonTitle && ( Clear all )} ); @@ -44,7 +58,6 @@ const RecentSearches: React.FC = (props) => { const styles = StyleSheet.create({ mainContainer: { marginLeft: '3%', - padding: 20, }, container: { flexDirection: 'row', diff --git a/src/components/search/SearchResults.tsx b/src/components/search/SearchResults.tsx index bf355220..798d3251 100644 --- a/src/components/search/SearchResults.tsx +++ b/src/components/search/SearchResults.tsx @@ -1,22 +1,33 @@ import React from 'react'; -import {ProfilePreviewType, PreviewType, ScreenType} from '../../types'; +import { + ProfilePreviewType, + PreviewType, + ScreenType, + CategoryPreviewType, +} from '../../types'; import ProfilePreview from '../profile/ProfilePreview'; import {StyleSheet, View} from 'react-native'; +import SearchResultsCell from './SearchResultCell'; +import {useSelector} from 'react-redux'; +import {RootState} from 'src/store/rootReducer'; interface SearchResultsProps { - results: Array; + results: ProfilePreviewType[]; previewType: PreviewType; screenType: ScreenType; + categories: CategoryPreviewType[]; } const SearchResults: React.FC = ({ results, previewType, screenType, + categories, }) => { /** * Added the following swicth case to make Results on Search and Recents screen a list * Flex is love */ - var containerStyle; + const {user: loggedInUser} = useSelector((state: RootState) => state.user); + let containerStyle; switch (previewType) { case 'Search': containerStyle = styles.containerSearch; @@ -29,25 +40,32 @@ const SearchResults: React.FC = ({ } return ( - {results && - results.map((profilePreview) => ( - - ))} + {categories.map((category: CategoryPreviewType) => ( + + ))} + {results.map((profile: ProfilePreviewType) => ( + + ))} ); }; const styles = StyleSheet.create({ - containerSearch: {flexDirection: 'column', flexWrap: 'wrap'}, - container: {flexDirection: 'row', flexWrap: 'wrap'}, - result: { - marginVertical: 10, + containerSearch: { + flexDirection: 'column', + flexWrap: 'wrap', + }, + container: { + flexDirection: 'row', + flexWrap: 'wrap', }, }); -- cgit v1.2.3-70-g09d2