aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/screens/suggestedPeople/SuggestedPeopleScreen.tsx42
-rw-r--r--src/services/MomentCategoryService.ts1
-rw-r--r--src/services/UserProfileService.ts2
3 files changed, 23 insertions, 22 deletions
diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
index 195604a3..0a0d352b 100644
--- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
+++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
@@ -1,6 +1,6 @@
import AsyncStorage from '@react-native-community/async-storage';
import {useFocusEffect, useNavigation} from '@react-navigation/native';
-import React, {useCallback, useEffect, useState} from 'react';
+import React, {useCallback, useEffect, useRef, useState} from 'react';
import {
FlatList,
ListRenderItemInfo,
@@ -29,6 +29,7 @@ import {
import {
fetchUserX,
getUserAsProfilePreviewType,
+ handleOpenSocialUrlOnBrowser,
normalize,
SCREEN_HEIGHT,
SCREEN_WIDTH,
@@ -55,14 +56,24 @@ const SuggestedPeopleScreen: React.FC = () => {
const [people, setPeople] = useState<SuggestedPeopleDataType[]>([]);
const [page, setPage] = useState(0);
const [refreshing, setRefreshing] = useState(false);
+ const [shouldResetData, setShouldResetData] = useState(false);
const [hideStatusBar, setHideStatusBar] = useState(false);
// loads data and append it to users based on current page
useEffect(() => {
- // console.log('current page', page);
- loadMore(false);
+ loadMore();
}, [page]);
+ useEffect(() => {
+ if (shouldResetData) {
+ if (page !== 0) {
+ setPage(0);
+ } else {
+ loadMore();
+ }
+ }
+ }, [shouldResetData]);
+
useFocusEffect(() => {
const appendSelf = async () => {
AsyncStorage.getItem('suggested_people_url').then((image) => {
@@ -83,34 +94,30 @@ const SuggestedPeopleScreen: React.FC = () => {
};
if (suggested_people_linked < 2) {
if (people.length > 1 && people[0].user.id !== loggedInUserId) {
+ console.log('appending self');
appendSelf();
}
}
});
- const loadMore = async (resetData: boolean) => {
+ const loadMore = async () => {
const loadNextPage = async () =>
await getSuggestedPeople(
SP_PAGE_SIZE,
- resetData ? 0 : page * SP_PAGE_SIZE,
+ shouldResetData ? 0 : page * SP_PAGE_SIZE,
);
loadNextPage().then((newUsers) => {
loadUserDataToStore(newUsers.map((ppl) => ppl.user));
- let newPeople = [];
- if (resetData) {
- newPeople = newUsers;
- setPage(0);
- } else {
- newPeople = people.concat(newUsers);
- }
- setPeople(newPeople);
+ setPeople(shouldResetData ? newUsers : people.concat(newUsers));
+ setShouldResetData(false);
});
};
const loadUserDataToStore = async (users: ProfilePreviewType[]) => {
const loadUserData = async (user: ProfilePreviewType) => {
if (!userXInStore(state, screenType, user.id)) {
+ console.log(user.username, 'not in store, loading to store');
await fetchUserX(
dispatch,
{userId: user.id, username: user.username},
@@ -120,10 +127,11 @@ const SuggestedPeopleScreen: React.FC = () => {
};
await Promise.all(users.map((user) => loadUserData(user)));
};
- const resetPage = () => {
+
+ const onRefresh = () => {
const reset = async () => {
await dispatch(resetScreenType(screenType));
- loadMore(true);
+ setShouldResetData(true);
};
setRefreshing(true);
reset().then(() => {
@@ -131,10 +139,6 @@ const SuggestedPeopleScreen: React.FC = () => {
});
};
- const onRefresh = useCallback(() => {
- resetPage();
- }, []);
-
useFocusEffect(
useCallback(() => {
const navigateToAnimatedTutorial = () => {
diff --git a/src/services/MomentCategoryService.ts b/src/services/MomentCategoryService.ts
index bb2c5542..edd13ad0 100644
--- a/src/services/MomentCategoryService.ts
+++ b/src/services/MomentCategoryService.ts
@@ -19,7 +19,6 @@ export const loadMomentCategories: (
const data = await response.json();
categories = data.categories;
} else {
- console.log('Could not load categories!');
return [];
}
} catch (err) {
diff --git a/src/services/UserProfileService.ts b/src/services/UserProfileService.ts
index fff35370..bfc4933f 100644
--- a/src/services/UserProfileService.ts
+++ b/src/services/UserProfileService.ts
@@ -145,8 +145,6 @@ export const loadSocialPosts: (
accountData.handle = body.handle;
accountData.posts = body.posts;
accountData.profile_pic = body.profile_pic;
- } else {
- throw 'Unable to fetch posts data from ' + socialType;
}
} catch (error) {
console.log(error);