diff options
Diffstat (limited to 'src/components')
21 files changed, 316 insertions, 76 deletions
diff --git a/src/components/comments/CommentsContainer.tsx b/src/components/comments/CommentsContainer.tsx index c72da2b7..3dc8a71c 100644 --- a/src/components/comments/CommentsContainer.tsx +++ b/src/components/comments/CommentsContainer.tsx @@ -2,7 +2,7 @@ import React, {useEffect, useRef, useState} from 'react'; import {StyleSheet} from 'react-native'; import {FlatList} from 'react-native-gesture-handler'; import {useDispatch, useSelector} from 'react-redux'; -import {CommentTile} from '.'; +import CommentTile from './CommentTile'; import {getComments} from '../../services'; import {updateReplyPosted} from '../../store/actions'; import {RootState} from '../../store/rootReducer'; diff --git a/src/components/common/GenericMoreInfoDrawer.tsx b/src/components/common/GenericMoreInfoDrawer.tsx index ff32a464..0928ed44 100644 --- a/src/components/common/GenericMoreInfoDrawer.tsx +++ b/src/components/common/GenericMoreInfoDrawer.tsx @@ -9,7 +9,7 @@ import { ViewStyle, } from 'react-native'; import {useSafeAreaInsets} from 'react-native-safe-area-context'; -import {BottomDrawer} from '.'; +import BottomDrawer from './BottomDrawer'; import {TAGG_LIGHT_BLUE} from '../../constants'; import {normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; diff --git a/src/components/common/SocialLinkModal.tsx b/src/components/common/SocialLinkModal.tsx index 20061cd0..a8c18225 100644 --- a/src/components/common/SocialLinkModal.tsx +++ b/src/components/common/SocialLinkModal.tsx @@ -2,7 +2,7 @@ import React from 'react'; import {Modal, StyleSheet, Text, TouchableOpacity, View} from 'react-native'; import {TextInput} from 'react-native-gesture-handler'; import {ScreenType} from '../../types'; -import {SocialIcon} from '.'; +import SocialIcon from './SocialIcon'; import CloseIcon from '../../assets/ionicons/close-outline.svg'; import {normalize, SCREEN_WIDTH} from '../../utils'; import CenteredView from './CenteredView'; diff --git a/src/components/common/TaggPopup.tsx b/src/components/common/TaggPopup.tsx index b5ac32ec..8b6865fd 100644 --- a/src/components/common/TaggPopup.tsx +++ b/src/components/common/TaggPopup.tsx @@ -3,7 +3,7 @@ import {StackNavigationProp} from '@react-navigation/stack'; import * as React from 'react'; import {Platform, Text, StyleSheet, TouchableOpacity} from 'react-native'; import {Image, View} from 'react-native-animatable'; -import {ArrowButton} from '..'; +import {ArrowButton} from '../onboarding'; import {OnboardingStackParams} from '../../routes'; import {SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; import CloseIcon from '../../assets/ionicons/close-outline.svg'; diff --git a/src/components/common/index.ts b/src/components/common/index.ts index 95854ba8..e1543cd8 100644 --- a/src/components/common/index.ts +++ b/src/components/common/index.ts @@ -15,7 +15,7 @@ export {default as ComingSoon} from './ComingSoon'; export {default as PostCarousel} from './PostCarousel'; export {default as TaggDatePicker} from './TaggDatePicker'; export {default as BottomDrawer} from './BottomDrawer'; -export {default as TaggLoadingTndicator} from './TaggLoadingIndicator'; +export {default as TaggLoadingIndicator} from './TaggLoadingIndicator'; export {default as GenericMoreInfoDrawer} from './GenericMoreInfoDrawer'; export {default as TaggPopUp} from './TaggPopup'; export {default as TaggPrompt} from './TaggPrompt'; diff --git a/src/components/moments/MomentPostHeader.tsx b/src/components/moments/MomentPostHeader.tsx index 810ccea9..aad776e8 100644 --- a/src/components/moments/MomentPostHeader.tsx +++ b/src/components/moments/MomentPostHeader.tsx @@ -1,6 +1,6 @@ import React, {useState} from 'react'; import {StyleSheet, Text, View, ViewProps} from 'react-native'; -import {MomentMoreInfoDrawer} from '..'; +import {MomentMoreInfoDrawer} from '../profile'; import {loadUserMoments} from '../../store/actions'; import {useDispatch, useSelector} from 'react-redux'; import {ScreenType} from '../../types'; diff --git a/src/components/onboarding/BirthDatePicker.tsx b/src/components/onboarding/BirthDatePicker.tsx index 6bef5798..c3a975dc 100644 --- a/src/components/onboarding/BirthDatePicker.tsx +++ b/src/components/onboarding/BirthDatePicker.tsx @@ -46,7 +46,7 @@ const BirthDatePicker = React.forwardRef( {...props}> {(updated || props.showPresetdate) && date ? moment(date).format('MM-DD-YYYY') - : 'Date of Birth'} + : 'Birthday'} </Text> </TouchableOpacity> <Modal visible={!hidden} transparent={true} animationType="fade"> @@ -92,7 +92,7 @@ const styles = StyleSheet.create({ input: { height: 40, fontSize: 16, - paddingTop: '2%', + paddingTop: 8, fontWeight: '600', borderColor: '#fffdfd', borderWidth: 2, diff --git a/src/components/onboarding/LinkSocialMedia.tsx b/src/components/onboarding/LinkSocialMedia.tsx index f3915752..eb3cf218 100644 --- a/src/components/onboarding/LinkSocialMedia.tsx +++ b/src/components/onboarding/LinkSocialMedia.tsx @@ -7,7 +7,7 @@ import { TouchableOpacity, TouchableOpacityProps, } from 'react-native'; -import {SocialLinkModal} from '..'; +import {SocialLinkModal} from '../common'; import { INTEGRATED_SOCIAL_LIST, SOCIAL_FONT_COLORS, diff --git a/src/components/onboarding/RegistrationWizard.tsx b/src/components/onboarding/RegistrationWizard.tsx index 437e7cfb..3c6ca80e 100644 --- a/src/components/onboarding/RegistrationWizard.tsx +++ b/src/components/onboarding/RegistrationWizard.tsx @@ -37,16 +37,6 @@ const RegistrationWizard = (props: RegistrationWizardProps) => { <View style={props.step === 'three' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'four' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'five' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'six' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View - style={props.step === 'seven' ? stepActiveStyle : stepStyle} - /> </View> </Animatable.View> )} @@ -60,16 +50,6 @@ const RegistrationWizard = (props: RegistrationWizardProps) => { <View style={props.step === 'three' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'four' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'five' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View style={props.step === 'six' ? stepActiveStyle : stepStyle} /> - <View style={styles.progress} /> - <View - style={props.step === 'seven' ? stepActiveStyle : stepStyle} - /> </View> </Animatable.View> )} @@ -94,7 +74,7 @@ const styles = StyleSheet.create({ backgroundColor: '#e1f0ff', }, progress: { - width: '10%', + width: '35%', height: 2, backgroundColor: '#e1f0ff', }, diff --git a/src/components/profile/Content.tsx b/src/components/profile/Content.tsx index e75ae949..ae9f9564 100644 --- a/src/components/profile/Content.tsx +++ b/src/components/profile/Content.tsx @@ -13,7 +13,7 @@ import { import {TouchableOpacity} from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; import {useDispatch, useSelector, useStore} from 'react-redux'; -import {Cover} from '.'; +import Cover from './Cover'; import GreyPlusLogo from '../../assets/icons/grey-plus-logo.svg'; import {COVER_HEIGHT, TAGG_LIGHT_BLUE} from '../../constants'; import { diff --git a/src/components/profile/Friends.tsx b/src/components/profile/Friends.tsx index 02a7460a..7c7265c5 100644 --- a/src/components/profile/Friends.tsx +++ b/src/components/profile/Friends.tsx @@ -1,7 +1,7 @@ import React from 'react'; import {View, StyleSheet, ScrollView, Text} from 'react-native'; import {ProfilePreviewType, ScreenType} from '../../types'; -import {ProfilePreview} from '..'; +import {ProfilePreview} from '../profile'; import {normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; import {TAGG_LIGHT_BLUE} from '../../constants'; import {RootState} from '../../store/rootReducer'; diff --git a/src/components/profile/ProfileHeader.tsx b/src/components/profile/ProfileHeader.tsx index 7dad2a68..e5bd9d93 100644 --- a/src/components/profile/ProfileHeader.tsx +++ b/src/components/profile/ProfileHeader.tsx @@ -1,7 +1,7 @@ import React, {useState} from 'react'; import {StyleSheet, Text, View} from 'react-native'; import {useSelector} from 'react-redux'; -import {UniversityIcon} from '.'; +import UniversityIcon from './UniversityIcon'; import {PROFILE_CUTOUT_TOP_Y} from '../../constants'; import {RootState} from '../../store/rootreducer'; import {ScreenType} from '../../types'; diff --git a/src/components/profile/ProfilePreview.tsx b/src/components/profile/ProfilePreview.tsx index 02ab94e7..f08335a1 100644 --- a/src/components/profile/ProfilePreview.tsx +++ b/src/components/profile/ProfilePreview.tsx @@ -16,6 +16,7 @@ import {loadImageFromURL} from '../../services'; import {RootState} from '../../store/rootreducer'; import {PreviewType, ProfilePreviewType, ScreenType} from '../../types'; import { + addUserToRecentlyViewed, checkIfUserIsBlocked, fetchUserX, isIPhoneX, @@ -37,12 +38,14 @@ interface ProfilePreviewProps extends ViewProps { profilePreview: ProfilePreviewType; previewType: PreviewType; screenType: ScreenType; + setMFDrawer?: Function; } const ProfilePreview: React.FC<ProfilePreviewProps> = ({ profilePreview: {username, first_name, last_name, id, thumbnail_url}, previewType, screenType, + setMFDrawer, }) => { const navigation = useNavigation(); const {user: loggedInUser} = useSelector((state: RootState) => state.user); @@ -87,39 +90,7 @@ const ProfilePreview: React.FC<ProfilePreviewProps> = ({ return; } if (previewType !== 'Comment') { - const jsonValue = await AsyncStorage.getItem( - '@recently_searched_users', - ); - let recentlySearchedList = - jsonValue != null ? JSON.parse(jsonValue) : null; - if (recentlySearchedList) { - if (recentlySearchedList.length > 0) { - if ( - recentlySearchedList.some( - (saved_user: ProfilePreviewType) => saved_user.id === id, - ) - ) { - console.log('User already in recently searched.'); - } else { - if (recentlySearchedList.length >= 10) { - recentlySearchedList.pop(); - } - recentlySearchedList.unshift(user); - } - } - } else { - recentlySearchedList = [user]; - } - - try { - let recentlySearchedListString = JSON.stringify(recentlySearchedList); - await AsyncStorage.setItem( - '@recently_searched_users', - recentlySearchedListString, - ); - } catch (e) { - console.log(e); - } + await addUserToRecentlyViewed(user) } const userXId = @@ -139,6 +110,11 @@ const ProfilePreview: React.FC<ProfilePreviewProps> = ({ ); } + // Close Mutual Friends drawer on suggested people upon navigation + if (setMFDrawer) { + setMFDrawer(false); + } + navigation.push('Profile', { userXId, screenType, diff --git a/src/components/search/ExploreSection.tsx b/src/components/search/ExploreSection.tsx index 025c8c3c..e888370e 100644 --- a/src/components/search/ExploreSection.tsx +++ b/src/components/search/ExploreSection.tsx @@ -14,7 +14,7 @@ interface ExploreSectionProps { users: ProfilePreviewType[]; } const ExploreSection: React.FC<ExploreSectionProps> = ({title, users}) => { - return users.length !== 0 ? ( + return users && users.length !== 0 ? ( <View style={styles.container}> <Text style={styles.header}>{title}</Text> <FlatList diff --git a/src/components/search/RecentSearches.tsx b/src/components/search/RecentSearches.tsx index bebf6bcf..6fb9fca9 100644 --- a/src/components/search/RecentSearches.tsx +++ b/src/components/search/RecentSearches.tsx @@ -5,10 +5,12 @@ import { TouchableOpacity, StyleSheet, TouchableOpacityProps, + ScrollView, } from 'react-native'; import {PreviewType, ProfilePreviewType, ScreenType} from '../../types'; import {TAGG_LIGHT_BLUE} from '../../constants'; import SearchResults from './SearchResults'; +import {SCREEN_HEIGHT} from '../../utils'; interface RecentSearchesProps extends TouchableOpacityProps { sectionTitle: PreviewType; @@ -21,7 +23,9 @@ interface RecentSearchesProps extends TouchableOpacityProps { */ const RecentSearches: React.FC<RecentSearchesProps> = (props) => { return ( - <View style={styles.mainContainer}> + <ScrollView + style={styles.mainContainer} + contentContainerStyle={{paddingBottom: SCREEN_HEIGHT * 0.1}}> <View style={styles.container}> <Text style={styles.title}>{props.sectionTitle}</Text> {props.sectionButtonTitle && ( @@ -35,13 +39,14 @@ const RecentSearches: React.FC<RecentSearchesProps> = (props) => { previewType={props.sectionTitle} screenType={props.screenType} /> - </View> + </ScrollView> ); }; const styles = StyleSheet.create({ mainContainer: { marginLeft: '3%', + padding: 20, }, container: { flexDirection: 'row', diff --git a/src/components/search/SearchResultCell.tsx b/src/components/search/SearchResultCell.tsx new file mode 100644 index 00000000..705fb5c9 --- /dev/null +++ b/src/components/search/SearchResultCell.tsx @@ -0,0 +1,187 @@ +import {useNavigation} from '@react-navigation/native'; +import React, {useEffect, useState} from 'react'; +import {Alert, Image, StyleSheet, Text, View} from 'react-native'; +import {TouchableOpacity} from 'react-native-gesture-handler'; +import {useDispatch, useStore} from 'react-redux'; +import {ERROR_UNABLE_TO_VIEW_PROFILE} from '../../constants/strings'; +import {loadImageFromURL} from '../../services'; +import {RootState} from '../../store/rootReducer'; +import {ProfilePreviewType, ScreenType, UserType} from '../../types'; +import {normalize, SCREEN_WIDTH} from '../../utils'; +import { + addUserToRecentlyViewed, + checkIfUserIsBlocked, + defaultUserProfile, + fetchUserX, + userXInStore, +} from '../../utils/users'; + +interface SearchResults { + profileData: ProfilePreviewType; + loggedInUser: UserType; +} + +const SearchResultsCell: React.FC<SearchResults> = ({ + profileData: { + id, + name, + username, + first_name, + last_name, + thumbnail_url, + category, + }, + loggedInUser, +}) => { + const [avatar, setAvatar] = useState<string | undefined>(undefined); + useEffect(() => { + (async () => { + if (thumbnail_url !== undefined) { + try { + const response = await loadImageFromURL(thumbnail_url); + if (response) { + setAvatar(response); + } + } catch (error) { + console.log('Error while downloading ', error); + throw error; + } + } + })(); + }, [thumbnail_url]); + + const dispatch = useDispatch(); + const state: RootState = useStore().getState(); + const navigation = useNavigation(); + const addToRecentlyStoredAndNavigateToProfile = async () => { + try { + //If the logged in user is blocked by the user being viewed, do not proceed. + const isUserBlocked = await checkIfUserIsBlocked( + id, + dispatch, + loggedInUser, + ); + if (isUserBlocked) { + Alert.alert(ERROR_UNABLE_TO_VIEW_PROFILE); + return; + } + + await addUserToRecentlyViewed({ + id, + first_name, + last_name, + thumbnail_url, + username, + }); + + const userXId = loggedInUser.username === username ? undefined : id; + + /** + * Dispatch an event to Fetch the user details only if we're navigating to + * a userX's profile. + * If the user is already present in store, do not fetch again. + * Finally, Navigate to profile of the user selected. + */ + if (userXId && !userXInStore(state, ScreenType.Search, id)) { + await fetchUserX( + dispatch, + {userId: id, username: username}, + ScreenType.Search, + ); + } + + navigation.navigate('Profile', { + userXId, + screenType: ScreenType.Search, + }); + } catch (e) { + console.log(e); + } + }; + + const userCell = () => { + return ( + <TouchableOpacity + onPress={addToRecentlyStoredAndNavigateToProfile} + style={styles.cellContainer}> + <Image + defaultSource={defaultUserProfile()} + source={{uri: avatar}} + style={styles.imageContainer} + /> + <View style={[styles.initialTextContainer, styles.multiText]}> + <Text style={styles.initialTextStyle}>{`@${username}`}</Text> + <Text style={styles.secondaryTextStyle}> + {first_name + ' ' + last_name} + </Text> + </View> + </TouchableOpacity> + ); + }; + + const searchIcon = () => { + return require('../../assets/images/search.png'); + }; + + const universityIcon = () => { + return require('../../assets/images/bwbadges.png'); + }; + + const categoryCell = () => { + return ( + <TouchableOpacity style={styles.cellContainer}> + <View style={[styles.imageContainer, styles.categoryBackground]}> + <Image + resizeMode="contain" + source={category === 'Brown' ? universityIcon() : searchIcon()} + style={styles.categoryImage} + /> + </View> + <View style={styles.initialTextContainer}> + <Text style={styles.initialTextStyle}>{name}</Text> + </View> + </TouchableOpacity> + ); + }; + + return name === undefined ? userCell() : categoryCell(); +}; + +const styles = StyleSheet.create({ + cellContainer: { + flexDirection: 'row', + marginHorizontal: SCREEN_WIDTH * 0.08, + marginBottom: SCREEN_WIDTH * 0.08, + }, + imageContainer: { + width: SCREEN_WIDTH * 0.112, + height: SCREEN_WIDTH * 0.112, + borderRadius: (SCREEN_WIDTH * 0.112) / 2, + }, + categoryBackground: { + backgroundColor: 'rgba(196, 196, 196, 0.45)', + justifyContent: 'center', + alignItems: 'center', + }, + categoryImage: { + width: '40%', + height: '40%', + }, + initialTextContainer: { + marginLeft: SCREEN_WIDTH * 0.08, + flexDirection: 'column', + justifyContent: 'center', + }, + initialTextStyle: { + fontWeight: '500', + fontSize: normalize(14), + }, + secondaryTextStyle: { + fontWeight: '500', + fontSize: normalize(12), + color: '#828282', + }, + multiText: {justifyContent: 'space-between'}, +}); + +export default SearchResultsCell; diff --git a/src/components/search/SearchResultList.tsx b/src/components/search/SearchResultList.tsx new file mode 100644 index 00000000..a3d9c8c5 --- /dev/null +++ b/src/components/search/SearchResultList.tsx @@ -0,0 +1,93 @@ +import React, {useEffect, useState} from 'react'; +import {SectionList, StyleSheet, Text, View} from 'react-native'; +import {useSelector} from 'react-redux'; +import {RootState} from 'src/store/rootreducer'; +import {NO_RESULTS_FOUND} from '../../constants/strings'; +import {PreviewType, ScreenType} from '../../types'; +import {normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; +import SearchResultsCell from './SearchResultCell'; + +interface SearchResultsProps { + results: Array<any> | undefined; + keyboardVisible: boolean; + previewType: PreviewType; + screenType: ScreenType; +} + +const sectionHeader: React.FC<Boolean> = (showBorder: Boolean) => { + if (showBorder) { + return <View style={styles.sectionHeaderStyle} />; + } + return null; +}; + +const SearchResultList: React.FC<SearchResultsProps> = ({ + results, + keyboardVisible, +}) => { + const [showSection, setShowSection] = useState(true); + const [showEmptyView, setshowEmptyView] = useState(false); + const {user: loggedInUser} = useSelector((state: RootState) => state.user); + + useEffect(() => { + if (results && results.length > 0) { + setshowEmptyView( + results[0].data.length === 0 && results[1].data.length === 0, + ); + } + }, [results]); + + return ( + <View style={styles.container}> + {showEmptyView && ( + <View style={styles.noResultsTextContainer}> + <Text style={styles.noResultsTextStyle}>{NO_RESULTS_FOUND}</Text> + </View> + )} + {!showEmptyView && ( + <SectionList + style={[ + {width: SCREEN_WIDTH}, + keyboardVisible ? styles.keyboardOpen : {}, + ]} + contentContainerStyle={{paddingBottom: SCREEN_HEIGHT * 0.1}} + sections={results} + keyExtractor={(item, index) => item.id + index} + renderItem={({item}) => ( + <SearchResultsCell profileData={item} loggedInUser={loggedInUser} /> + )} + renderSectionHeader={({section: {title, data}}) => { + if (title === 'categories' && data.length === 0) { + setShowSection(false); + } + return sectionHeader(title !== 'categories' && showSection); + }} + /> + )} + </View> + ); +}; + +const styles = StyleSheet.create({ + container: { + marginTop: SCREEN_HEIGHT * 0.02, + }, + sectionHeaderStyle: { + width: '100%', + height: 0.5, + marginBottom: normalize(24), + backgroundColor: '#C4C4C4', + }, + keyboardOpen: {marginBottom: SCREEN_HEIGHT * 0.3}, + noResultsTextContainer: { + justifyContent: 'center', + flexDirection: 'row', + width: SCREEN_WIDTH, + }, + noResultsTextStyle: { + fontWeight: '500', + fontSize: normalize(14), + }, +}); + +export default SearchResultList; diff --git a/src/components/search/SearchResultsBackground.tsx b/src/components/search/SearchResultsBackground.tsx index 77b1821d..c5fcc6fb 100644 --- a/src/components/search/SearchResultsBackground.tsx +++ b/src/components/search/SearchResultsBackground.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import Animated, {interpolate} from 'react-native-reanimated'; import {StyleSheet} from 'react-native'; +import Animated, {interpolate} from 'react-native-reanimated'; import {SCREEN_HEIGHT, SCREEN_WIDTH, StatusBarHeight} from '../../utils'; interface SearchResultsBackgroundProps { @@ -21,11 +21,9 @@ const SearchResultsBackground: React.FC<SearchResultsBackgroundProps> = ({ return ( <Animated.View style={[styles.container, {opacity: opacityBackground, top}]}> - <Animated.ScrollView - contentContainerStyle={styles.contentContainer} - style={[styles.results, {opacity: opacityContent}]}> + <Animated.View style={[styles.results, {opacity: opacityContent}]}> {children} - </Animated.ScrollView> + </Animated.View> </Animated.View> ); }; @@ -34,7 +32,6 @@ const styles = StyleSheet.create({ flex: 1, height: SCREEN_HEIGHT, width: SCREEN_WIDTH, - padding: 20, position: 'absolute', backgroundColor: '#fff', zIndex: 0, diff --git a/src/components/search/index.ts b/src/components/search/index.ts index 08052f77..7418f0ba 100644 --- a/src/components/search/index.ts +++ b/src/components/search/index.ts @@ -3,5 +3,6 @@ export {default as SearchHeader} from './SearchHeader'; export {default as SearchBar} from './SearchBar'; export {default as Explore} from './Explore'; export {default as SearchResultsBackground} from './SearchResultsBackground'; +export {default as SearchResultList} from './SearchResultList'; export {default as SearchResults} from './SearchResults'; export {default as DiscoverUsers} from './DiscoverUsers'; diff --git a/src/components/suggestedPeople/MutualFriends.tsx b/src/components/suggestedPeople/MutualFriends.tsx index fdda104a..f72104d4 100644 --- a/src/components/suggestedPeople/MutualFriends.tsx +++ b/src/components/suggestedPeople/MutualFriends.tsx @@ -70,6 +70,7 @@ const MutualFriends: React.FC<MutualFriendsProps> = ({ previewType={'Suggested People Drawer'} screenType={ScreenType.SuggestedPeople} profilePreview={profilePreview} + setMFDrawer={setDrawerVisible} /> ))} </ScrollView> diff --git a/src/components/taggs/SocialMediaInfo.tsx b/src/components/taggs/SocialMediaInfo.tsx index f05ad503..5497226c 100644 --- a/src/components/taggs/SocialMediaInfo.tsx +++ b/src/components/taggs/SocialMediaInfo.tsx @@ -1,7 +1,7 @@ import React from 'react'; import {StyleSheet, Text, View} from 'react-native'; import {ScreenType} from '../../types'; -import {SocialIcon} from '..'; +import {SocialIcon} from '../common'; import {handleOpenSocialUrlOnBrowser} from '../../utils'; interface SocialMediaInfoProps { |