aboutsummaryrefslogtreecommitdiff
path: root/src/screens
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens')
-rw-r--r--src/screens/profile/FollowersListScreen.tsx35
1 files changed, 19 insertions, 16 deletions
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<FollowersListScreenProps> = ({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<Array<ProfilePreviewType>>([]);
+ const [result, setResult] = useState<Array<ProfilePreviewType>>([]);
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<FollowersListScreenProps> = ({route}) => {
stickyHeaderIndices={[4]}
contentContainerStyle={styles.contentContainer}
showsVerticalScrollIndicator={false}>
- <Followers {...{followers}} sectionTitle="Followers" />
+ <Followers {...{result}} sectionTitle={isFollowers ? "Followers" : "Following"} />
</ScrollView>
<TabsGradient />
</View>