diff options
| author | Ivan Chen <ivan@tagg.id> | 2021-02-12 19:31:32 -0500 |
|---|---|---|
| committer | Ivan Chen <ivan@tagg.id> | 2021-02-12 19:31:32 -0500 |
| commit | 5cdde33f9c35c1d26f47d0a71ee75c635a94ee49 (patch) | |
| tree | 8edbe5cce80696e7a3aaf98e463acca4c8ba7c21 /src/screens/suggestedPeopleOnboarding | |
| parent | dfff52bb9c7e8a284e465cd90a61ada94a8d6a4e (diff) | |
now using suggested_people_linked, moved things around
Diffstat (limited to 'src/screens/suggestedPeopleOnboarding')
| -rw-r--r-- | src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx | 36 |
1 files changed, 23 insertions, 13 deletions
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 ( |
