diff options
Diffstat (limited to 'src/screens')
| -rw-r--r-- | src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx index 1b30c72f..b49761a0 100644 --- a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx +++ b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx @@ -1,4 +1,5 @@ -import React, {useState} from 'react'; +import {useNavigation} from '@react-navigation/native'; +import React, {useEffect, useState} from 'react'; import { Alert, Image, @@ -10,19 +11,41 @@ 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 {ERROR_UPLOAD} from '../../constants/strings'; -import {sendSuggestedPeoplePhoto} from '../../services'; +import {ERROR_UPLOAD, SUCCESS_PIC_UPLOAD} from '../../constants/strings'; +import { + getSuggestedPeopleProfile, + 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 SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { + const {goTo} = route.params; const [image, setImage] = useState<string | undefined>(undefined); const [loading, setLoading] = useState(false); const dispatch = useDispatch(); + const navigation = useNavigation(); + const {userId: loggedInUserId} = useSelector( + (state: RootState) => state.user.user, + ); + + useEffect(() => { + const loadData = async () => { + const response = await getSuggestedPeopleProfile(loggedInUserId); + if (response) { + setImage(response.suggested_people_url); + } + }; + // if we're in edit SP, attempt to load current sp image + if (goTo === 'Profile') { + loadData(); + } + }, []); const openImagePicker = () => { ImagePicker.openPicker({ @@ -58,6 +81,14 @@ const SuggestedPeopleUploadPictureScreen: React.FC = () => { } } setLoading(false); + + // Navigated back to Profile if user is editing their Suggested People Picture + if (goTo === 'Profile') { + navigation.goBack(); + setTimeout(() => { + Alert.alert(SUCCESS_PIC_UPLOAD); + }, 500); + } }; return ( |
