From 17fbfa29c1b78703b872221e3b590aca3ef5cf7e Mon Sep 17 00:00:00 2001 From: Husam Salhab <47015061+hsalhab@users.noreply.github.com> Date: Mon, 26 Oct 2020 18:42:02 -0400 Subject: [TMA-13] List of following (#72) * move async-storage * removed lock files * added lock files to gitignore * added the wrong file to gitignore * added following list * added numFollowers; removed redundant code * removed followercount stuff for now * Fixed follower count * Made come more changes Co-authored-by: Ashm Walia --- src/screens/profile/FollowersListScreen.tsx | 35 ++++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'src/screens') diff --git a/src/screens/profile/FollowersListScreen.tsx b/src/screens/profile/FollowersListScreen.tsx index 5150c77d..21778929 100644 --- a/src/screens/profile/FollowersListScreen.tsx +++ b/src/screens/profile/FollowersListScreen.tsx @@ -3,13 +3,14 @@ import {RouteProp} from '@react-navigation/native'; import {TabsGradient, Followers, CenteredView} from '../../components'; import Animated from 'react-native-reanimated'; import {AuthContext, ProfileContext} from '../../routes/'; -import {FOLLOWERS_ENDPOINT} from '../../constants'; +import {FOLLOWERS_ENDPOINT, FOLLOWING_ENDPOINT} from '../../constants'; import AsyncStorage from '@react-native-community/async-storage'; import {ProfilePreviewType} from '../../types'; import {ScrollView} from 'react-native-gesture-handler'; import {StatusBarHeight, SCREEN_HEIGHT} from '../../utils'; import {StyleSheet, View} from 'react-native'; import {ProfileStackParams} from '../../routes'; +import { loadFollowers, loadFollowing } from '../../services/UserFollowServices'; type FollowersListScreenRouteProp = RouteProp< ProfileStackParams, @@ -20,37 +21,39 @@ interface FollowersListScreenProps { } const FollowersListScreen: React.FC = ({route}) => { - const {isProfileView} = route.params; + const {isProfileView, isFollowers} = route.params; const {user} = isProfileView ? React.useContext(ProfileContext) : React.useContext(AuthContext); const y = Animated.useValue(0); - const [followers, setFollowers] = useState>([]); + const [result, setResult] = useState>([]); const top = Animated.useValue(-SCREEN_HEIGHT); useEffect(() => { const loadResults = async (q: string) => { try { const token = await AsyncStorage.getItem('token'); - const response = await fetch(`${FOLLOWERS_ENDPOINT}?user_id=${q}`, { - method: 'GET', - headers: { - Authorization: 'Token ' + token, - }, - }); - const status = response.status; - if (status === 200) { - let followersResults = await response.json(); - setFollowers(followersResults); + + if (!token) { return; } - setFollowers([]); + + const result: ProfilePreviewType[] = isFollowers ? await loadFollowers( + user.userId, + token, + ) : await loadFollowing( + user.userId, + token, + ); + setResult(result); + } catch (error) { console.log(error); - setFollowers([]); + setResult([]); } }; loadResults(user.userId); + }, []); return ( @@ -61,7 +64,7 @@ const FollowersListScreen: React.FC = ({route}) => { stickyHeaderIndices={[4]} contentContainerStyle={styles.contentContainer} showsVerticalScrollIndicator={false}> - + -- cgit v1.2.3-70-g09d2