aboutsummaryrefslogtreecommitdiff
path: root/src/screens
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens')
-rw-r--r--src/screens/suggestedPeople/AnimatedTutorial.tsx16
-rw-r--r--src/screens/suggestedPeople/SuggestedPeopleScreen.tsx21
-rw-r--r--src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx36
3 files changed, 36 insertions, 37 deletions
diff --git a/src/screens/suggestedPeople/AnimatedTutorial.tsx b/src/screens/suggestedPeople/AnimatedTutorial.tsx
index 8ebdaea6..bf34ba6e 100644
--- a/src/screens/suggestedPeople/AnimatedTutorial.tsx
+++ b/src/screens/suggestedPeople/AnimatedTutorial.tsx
@@ -1,13 +1,13 @@
-import * as React from 'react';
-import CloseIcon from '../../assets/ionicons/close-outline.svg';
+import {useNavigation} from '@react-navigation/native';
+import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {Image} from 'react-native-animatable';
-import {isIPhoneX, SCREEN_WIDTH} from '../../utils';
import {SafeAreaView} from 'react-native-safe-area-context';
-import {useNavigation} from '@react-navigation/native';
import {useDispatch, useSelector} from 'react-redux';
+import CloseIcon from '../../assets/ionicons/close-outline.svg';
+import {suggestedPeopleAnimatedTutorialFinished} from '../../store/actions/user';
import {RootState} from '../../store/rootReducer';
-import {updateSPSwipeTutorial} from '../../store/actions/user';
+import {isIPhoneX, SCREEN_WIDTH} from '../../utils';
const AnimatedTutorial: React.FC = () => {
const navigation = useNavigation();
@@ -15,11 +15,7 @@ const AnimatedTutorial: React.FC = () => {
const {user} = useSelector((state: RootState) => state.user);
const handleCloseAnimationTutorial = async () => {
- /* In user's store, check if profile.sp_swipe_tutorial === 0
- * Make call to edit profile endpoint with suggested people === 1
- */
- const data = 1;
- dispatch(updateSPSwipeTutorial(user, data));
+ dispatch(suggestedPeopleAnimatedTutorialFinished(user.userId));
navigation.pop();
};
return (
diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
index a0c227d6..49806544 100644
--- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
+++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx
@@ -23,7 +23,7 @@ import {isIPhoneX, normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils';
*/
const SuggestedPeopleScreen: React.FC = () => {
- const {onboarded_sugggested_people} = useSelector(
+ const {suggested_people_linked} = useSelector(
(state: RootState) => state.user.profile,
);
const y = Animated.useValue(0);
@@ -34,22 +34,17 @@ const SuggestedPeopleScreen: React.FC = () => {
// Adviced to maintain username as a variable here to append @ symbol for maintainability
const username = '@' + 'sarahmiller';
const navigation = useNavigation();
- const {
- profile: {sp_swipe_tutorial},
- } = useSelector((state: RootState) => state.user);
useFocusEffect(
useCallback(() => {
const navigateToAnimatedTutorial = () => {
- /* In user's store, check if profile.sp_swipe_tutorial === 0
- * If, true show tutorial.
- */
- if (sp_swipe_tutorial === 0 && onboarded_sugggested_people) {
+ // if the user has finished the previous SP onboarding
+ if (suggested_people_linked === 1) {
navigation.navigate('AnimatedTutorial');
}
};
navigateToAnimatedTutorial();
- }, [sp_swipe_tutorial, navigation, onboarded_sugggested_people]),
+ }, [navigation, suggested_people_linked]),
);
const mainContent = () => (
@@ -84,18 +79,16 @@ const SuggestedPeopleScreen: React.FC = () => {
screenType={ScreenType.SuggestedPeople}
/>
{/* TODO: Add MutualFriends here */}
- {/* TODO: Add TaggsBar here */}
- {/* TODO: Add MutualFriends here */}
</View>
</View>
<TabsGradient />
</SafeAreaView>
);
- return onboarded_sugggested_people ? (
- mainContent()
- ) : (
+ return suggested_people_linked === 0 ? (
<SuggestedPeopleOnboardingStackScreen />
+ ) : (
+ mainContent()
);
};
diff --git a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx
index 98986a70..a0ac27e6 100644
--- a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx
+++ b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx
@@ -1,19 +1,29 @@
import React, {useState} from 'react';
-import {Image, ImageBackground, StatusBar, StyleSheet} from 'react-native';
+import {
+ Alert,
+ Image,
+ ImageBackground,
+ StatusBar,
+ StyleSheet,
+} from 'react-native';
import {Text} from 'react-native-animatable';
import {TouchableOpacity} from 'react-native-gesture-handler';
import ImagePicker from 'react-native-image-crop-picker';
import {SafeAreaView} from 'react-native-safe-area-context';
-import {useDispatch} from 'react-redux';
+import {useDispatch, useSelector} from 'react-redux';
import {TaggSquareButton} from '../../components';
import TaggLoadingIndicator from '../../components/common/TaggLoadingIndicator';
import {SP_HEIGHT, SP_WIDTH} from '../../constants';
-import {updateOnboardedSuggestedPeople} from '../../store/actions';
+import {ERROR_UPLOAD} from '../../constants/strings';
+import {sendSuggestedPeoplePhoto} from '../../services';
+import {uploadedSuggestedPeoplePhoto} from '../../store/actions';
+import {RootState} from '../../store/rootReducer';
import {normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils';
const SuggestedPeopleUploadPictureScreen: React.FC = () => {
const [image, setImage] = useState<string | undefined>(undefined);
const [loading, setLoading] = useState(false);
+ const {userId} = useSelector((state: RootState) => state.user.user);
const dispatch = useDispatch();
const openImagePicker = () => {
@@ -39,17 +49,17 @@ const SuggestedPeopleUploadPictureScreen: React.FC = () => {
.catch((_) => {});
};
- const uploadImage = () => {
- // TODO: hit endpoint
+ const uploadImage = async () => {
setLoading(true);
- setTimeout(() => {
- setLoading(false);
- dispatch(
- updateOnboardedSuggestedPeople(true, () => {
- console.log('updated');
- }),
- );
- }, 1000);
+ if (image) {
+ const success = await sendSuggestedPeoplePhoto(userId, image);
+ if (success) {
+ dispatch(uploadedSuggestedPeoplePhoto());
+ } else {
+ Alert.alert(ERROR_UPLOAD);
+ }
+ }
+ setLoading(false);
};
return (