From efbf46164a918114574c4974de9d88b8014cc770 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Sat, 20 Feb 2021 09:32:52 -0800 Subject: Sp profile preview --- .../suggestedPeople/SuggestedPeopleScreen.tsx | 41 +++++++++++++++++++--- .../SuggestedPeopleUploadPictureScreen.tsx | 2 ++ 2 files changed, 39 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index b9dee55a..175e0df7 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -1,3 +1,4 @@ +import AsyncStorage from '@react-native-community/async-storage'; import {useFocusEffect, useNavigation} from '@react-navigation/native'; import React, {useCallback, useEffect, useState} from 'react'; import { @@ -24,7 +25,13 @@ import { ScreenType, SuggestedPeopleDataType, } from '../../types'; -import {fetchUserX, normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; +import { + fetchUserX, + getUserAsProfilePreviewType, + normalize, + SCREEN_HEIGHT, + SCREEN_WIDTH, +} from '../../utils'; import {userXInStore} from './../../utils/'; /** @@ -52,9 +59,35 @@ const SuggestedPeopleScreen: React.FC = () => { loadMore(false); }, [page]); - const loadMore = (resetData: boolean) => { + const loadMore = async (resetData: boolean) => { + const appendSelf = async () => { + console.log('Appending own profile to the top'); + AsyncStorage.getItem('suggested_people_url').then((image) => { + console.log('image path: ', image); + const self = { + user: getUserAsProfilePreviewType( + state.user.user, + state.user.profile, + ), + mutual_friends: [], + badges: [], + social_links: [], + suggested_people_url: image ? image : '', + }; + console.log('self: ', self); + people.unshift(self); + setPeople(people); + }); + }; + + console.log('suggested_people_linked', suggested_people_linked); + console.log('Append profile only if suggested people is less than 2'); + if (suggested_people_linked < 2) { + await appendSelf(); + } const loadNextPage = async () => await getSuggestedPeople(SP_PAGE_SIZE, page * SP_PAGE_SIZE); + loadNextPage().then((newUsers) => { if (resetData) { setPeople([]); @@ -145,12 +178,12 @@ const SuggestedPeopleScreen: React.FC = () => { */} - + /> */} diff --git a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx index b49761a0..5b678969 100644 --- a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx +++ b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx @@ -1,5 +1,6 @@ import {useNavigation} from '@react-navigation/native'; import React, {useEffect, useState} from 'react'; +import AsyncStorage from '@react-native-community/async-storage'; import { Alert, Image, @@ -76,6 +77,7 @@ const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { const success = await sendSuggestedPeoplePhoto(image); if (success) { dispatch(uploadedSuggestedPeoplePhoto()); + await AsyncStorage.setItem('suggested_people_url', image); } else { Alert.alert(ERROR_UPLOAD); } -- cgit v1.2.3-70-g09d2 From 13bb2cbe4c6ed0ba758a10b90e54833fff71164a Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Sat, 20 Feb 2021 13:10:23 -0500 Subject: fix for taggs bar not appearing for sp preview --- src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index 40691eba..cdcc640f 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -48,6 +48,9 @@ const SuggestedPeopleScreen: React.FC = () => { const {suggested_people_linked} = useSelector( (state: RootState) => state.user.profile, ) ?? {suggested_people_linked: -1}; + const {userId: loggedInUserId} = useSelector( + (state: RootState) => state.user.user, + ); const [people, setPeople] = useState([]); const [page, setPage] = useState(0); const [refreshing, setRefreshing] = useState(false); @@ -182,7 +185,9 @@ const SuggestedPeopleScreen: React.FC = () => { Date: Sat, 20 Feb 2021 13:23:06 -0500 Subject: sp preview fix --- src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index cdcc640f..66ad8ee9 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -62,9 +62,8 @@ const SuggestedPeopleScreen: React.FC = () => { loadMore(false); }, [page]); - const loadMore = async (resetData: boolean) => { + useFocusEffect(() => { const appendSelf = async () => { - console.log('Appending own profile to the top'); AsyncStorage.getItem('suggested_people_url').then((image) => { console.log('image path: ', image); const self = { @@ -77,17 +76,18 @@ const SuggestedPeopleScreen: React.FC = () => { social_links: [], suggested_people_url: image ? image : '', }; - console.log('self: ', self); people.unshift(self); setPeople(people); }); }; - - console.log('suggested_people_linked', suggested_people_linked); - console.log('Append profile only if suggested people is less than 2'); if (suggested_people_linked < 2) { - await appendSelf(); + if (people.length > 1 && people[0].user.id !== loggedInUserId) { + appendSelf(); + } } + }); + + const loadMore = async (resetData: boolean) => { const loadNextPage = async () => await getSuggestedPeople(SP_PAGE_SIZE, page * SP_PAGE_SIZE); -- cgit v1.2.3-70-g09d2 From b8388a428625ab1e165e5d2b871c266e8abd34fd Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Sat, 20 Feb 2021 13:33:54 -0500 Subject: fixed loading issues --- src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index 66ad8ee9..d047d038 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -89,15 +89,21 @@ const SuggestedPeopleScreen: React.FC = () => { const loadMore = async (resetData: boolean) => { const loadNextPage = async () => - await getSuggestedPeople(SP_PAGE_SIZE, page * SP_PAGE_SIZE); + await getSuggestedPeople( + SP_PAGE_SIZE, + resetData ? 0 : page * SP_PAGE_SIZE, + ); loadNextPage().then((newUsers) => { + loadUserDataToStore(newUsers.map((ppl) => ppl.user)); + let newPeople = []; if (resetData) { - setPeople([]); + newPeople = newUsers; setPage(0); + } else { + newPeople = people.concat(newUsers); } - loadUserDataToStore(newUsers.map((ppl) => ppl.user)); - setPeople(people.concat(newUsers)); + setPeople(newPeople); }); }; -- cgit v1.2.3-70-g09d2 From 47ad21b85abe174982fc98b03622133410d03b36 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Sat, 20 Feb 2021 13:35:36 -0500 Subject: fixed taggs bar background in profile --- src/components/taggs/TaggsBar.tsx | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/components/taggs/TaggsBar.tsx b/src/components/taggs/TaggsBar.tsx index 641677e3..05ee18bb 100644 --- a/src/components/taggs/TaggsBar.tsx +++ b/src/components/taggs/TaggsBar.tsx @@ -153,6 +153,7 @@ const styles = StyleSheet.create({ marginBottom: 25, }, container: { + backgroundColor: 'white', shadowColor: '#000', shadowRadius: 10, shadowOffset: {width: 0, height: 2}, -- cgit v1.2.3-70-g09d2 From 973c1043f7fbc4200710727ab0b96c87370f4a60 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Sat, 20 Feb 2021 13:39:00 -0500 Subject: navigation to profile screen --- src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index d047d038..195604a3 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -11,6 +11,7 @@ import { View, } from 'react-native'; import {Image} from 'react-native-animatable'; +import {TouchableOpacity} from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; import {useDispatch, useSelector, useStore} from 'react-redux'; import {TabsGradient, TaggsBar} from '../../components'; @@ -174,10 +175,17 @@ const SuggestedPeopleScreen: React.FC = () => { - + { + navigation.push('Profile', { + userXId: data.user.id, + screenType, + }); + }} + style={styles.nameInfoContainer}> {data.user.first_name} @{data.user.username} - + {/* TODO: Finish me ?! */} {/*