From c74285c0f53efc1c4d0794d2f7f563b45e1eb700 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Thu, 11 Mar 2021 09:18:16 -0800 Subject: refactoring --- src/services/SuggestedPeopleService.ts | 57 +++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) (limited to 'src/services') diff --git a/src/services/SuggestedPeopleService.ts b/src/services/SuggestedPeopleService.ts index d0032458..7b0131d8 100644 --- a/src/services/SuggestedPeopleService.ts +++ b/src/services/SuggestedPeopleService.ts @@ -1,11 +1,18 @@ import AsyncStorage from '@react-native-community/async-storage'; import { + ERROR_BADGES_EXCEED_LIMIT, + ERROR_UPLOAD_BADGES, +} from '../constants/strings'; +import { + ADD_BADGES_ENDPOINT, EDIT_PROFILE_ENDPOINT, SP_MUTUAL_BADGE_HOLDERS_ENDPOINT, SP_UPDATE_PICTURE_ENDPOINT, SP_USERS_ENDPOINT, -} from '../constants'; + UPDATE_BADGES_ENDPOINT, +} from '../constants/api'; import {ProfilePreviewType, SuggestedPeopleDataType} from '../types'; +import { Alert } from 'react-native'; export const sendSuggestedPeopleLinked = async ( userId: string, @@ -119,3 +126,51 @@ export const getMutualBadgeHolders = async () => { return undefined; } }; + +export const addBadgesService = async (selectedBadges: string[]) => { + try { + const token = await AsyncStorage.getItem('token'); + const form = new FormData(); + form.append('badges', JSON.stringify(selectedBadges)); + const response = await fetch(ADD_BADGES_ENDPOINT, { + method: 'POST', + headers: { + 'Content-Type': 'multipart/form-data', + Authorization: 'Token ' + token, + }, + body: form, + }); + if (response.status === 400) { + Alert.alert(ERROR_BADGES_EXCEED_LIMIT); + return false; + } + return true; + } catch (error) { + console.log(error); + Alert.alert(ERROR_UPLOAD_BADGES); + return false; + } +}; + +export const updateBadgesService = async (selectedBadges: string[]) => { + try { + const token = await AsyncStorage.getItem('token'); + const form = new FormData(); + form.append('badges', JSON.stringify(selectedBadges)); + const response = await fetch(UPDATE_BADGES_ENDPOINT, { + method: 'POST', + headers: { + 'Content-Type': 'multipart/form-data', + Authorization: 'Token ' + token, + }, + body: form, + }); + if (response.status === 400) { + Alert.alert(ERROR_BADGES_EXCEED_LIMIT); + return; + } + } catch (error) { + console.log(error); + Alert.alert(ERROR_UPLOAD_BADGES); + } +}; -- cgit v1.2.3-70-g09d2 From 803b7a7bcb173d6a263c9d43fec41e5cddfe98f4 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Thu, 11 Mar 2021 13:36:34 -0800 Subject: done; except: update state on previous screen; --- src/assets/icons/front-arrow.svg | 1 + src/constants/strings.ts | 1 + src/screens/badge/BadgeSelection.tsx | 4 ++- .../SuggestedPeopleUploadPictureScreen.tsx | 32 ++++++++++++---------- src/services/SuggestedPeopleService.ts | 5 ++++ 5 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 src/assets/icons/front-arrow.svg (limited to 'src/services') diff --git a/src/assets/icons/front-arrow.svg b/src/assets/icons/front-arrow.svg new file mode 100644 index 00000000..7beeb83e --- /dev/null +++ b/src/assets/icons/front-arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/constants/strings.ts b/src/constants/strings.ts index 93da6e59..3c2100f4 100644 --- a/src/constants/strings.ts +++ b/src/constants/strings.ts @@ -57,6 +57,7 @@ export const SUCCESS_CATEGORY_DELETE = 'Category successfully deleted, but its m export const SUCCESS_INVITATION_CODE = 'Perfect! You entered a valid invitation code, you are now able to login and explore Tagg!'; export const SUCCESS_LINK = (str: string) => `Successfully linked ${str} 🎉`; export const SUCCESS_PIC_UPLOAD = 'Beautiful, the picture was uploaded successfully!'; +export const SUCCESS_BADGES_UPDATE = 'Badges updated successfully!' export const SUCCESS_PWD_RESET = 'Your password was reset successfully!'; export const SUCCESS_VERIFICATION_CODE_SENT = 'New verification code sent! Check your phone messages for your code'; export const UP_TO_DATE = 'Up-to-Date!'; diff --git a/src/screens/badge/BadgeSelection.tsx b/src/screens/badge/BadgeSelection.tsx index ed3f199d..ba2e6af4 100644 --- a/src/screens/badge/BadgeSelection.tsx +++ b/src/screens/badge/BadgeSelection.tsx @@ -59,7 +59,9 @@ const BadgeSelection: React.FC = ({navigation, route}) => { } }}> - {selectedBadges.length !== 0 ? 'Done' : 'Skip'} + {selectedBadges.length !== 0 || route?.params.editing + ? 'Done' + : 'Skip'} ), diff --git a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx index eb8494f4..c5a4ce61 100644 --- a/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx +++ b/src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx @@ -25,11 +25,12 @@ import { import {uploadedSuggestedPeoplePhoto} from '../../store/actions'; import {RootState} from '../../store/rootReducer'; import {normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; -import BackArrow from '../../assets/icons/back-arrow.svg'; +import FrontArrow from '../../assets/icons/front-arrow.svg'; const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { const {editing} = route.params; const [image, setImage] = useState(undefined); + const [oldImage, setOldImage] = useState(undefined); const [selectedBadges, setSelectedBadges] = useState([]); const [loading, setLoading] = useState(false); const dispatch = useDispatch(); @@ -44,6 +45,8 @@ const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { if (response) { setImage(response.suggested_people_url); setSelectedBadges(response.badges); + setOldImage(response.suggested_people_url); + console.log('Current Image: ', response.suggested_people_url); } }; // if we're in edit SP, attempt to load current sp image @@ -76,8 +79,8 @@ const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { }; const uploadImage = async () => { - setLoading(true); - if (image) { + if (image && oldImage !== image) { + setLoading(true); const success = await sendSuggestedPeoplePhoto(image); if (success) { dispatch(uploadedSuggestedPeoplePhoto(image)); @@ -87,16 +90,15 @@ const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { } else { Alert.alert(ERROR_UPLOAD); } + setLoading(false); + // Navigated back to Profile if user is editing their Suggested People Picture + if (editing) { + setTimeout(() => { + Alert.alert(SUCCESS_PIC_UPLOAD); + }, 500); + } } - setLoading(false); - - // Navigated back to Profile if user is editing their Suggested People Picture - if (editing) { - navigation.goBack(); - setTimeout(() => { - Alert.alert(SUCCESS_PIC_UPLOAD); - }, 500); - } + navigation.goBack(); }; return ( @@ -152,9 +154,11 @@ const SuggestedPeopleUploadPictureScreen: React.FC = ({route}) => { { - navigation.push('BadgeSelection', {selectedBadges}); + navigation.push('BadgeSelection', { + selectedBadges, + }); }}> - + )} diff --git a/src/services/SuggestedPeopleService.ts b/src/services/SuggestedPeopleService.ts index 7b0131d8..a65b91ef 100644 --- a/src/services/SuggestedPeopleService.ts +++ b/src/services/SuggestedPeopleService.ts @@ -2,6 +2,7 @@ import AsyncStorage from '@react-native-community/async-storage'; import { ERROR_BADGES_EXCEED_LIMIT, ERROR_UPLOAD_BADGES, + SUCCESS_BADGES_UPDATE, } from '../constants/strings'; import { ADD_BADGES_ENDPOINT, @@ -169,6 +170,10 @@ export const updateBadgesService = async (selectedBadges: string[]) => { Alert.alert(ERROR_BADGES_EXCEED_LIMIT); return; } + if (response.status === 200) { + Alert.alert(SUCCESS_BADGES_UPDATE); + return; + } } catch (error) { console.log(error); Alert.alert(ERROR_UPLOAD_BADGES); -- cgit v1.2.3-70-g09d2 From 20e4f9e5411bea400212737a7f3967052a3fe165 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Fri, 12 Mar 2021 10:57:38 -0800 Subject: remove some unwanted console log --- src/screens/onboarding/Login.tsx | 1 - src/screens/onboarding/OnboardingStepTwo.tsx | 2 -- src/services/WaitlistUserService.tsx | 1 - 3 files changed, 4 deletions(-) (limited to 'src/services') diff --git a/src/screens/onboarding/Login.tsx b/src/screens/onboarding/Login.tsx index 2ca4172b..cfa39dbd 100644 --- a/src/screens/onboarding/Login.tsx +++ b/src/screens/onboarding/Login.tsx @@ -165,7 +165,6 @@ const Login: React.FC = ({navigation}: LoginProps) => { userLogin(dispatch, {userId: data.UserID, username}); fcmService.sendFcmTokenToServer(); } catch (err) { - console.log(data); Alert.alert(ERROR_INVALID_LOGIN); } } else if (statusCode === 200 && !data.isOnboarded) { diff --git a/src/screens/onboarding/OnboardingStepTwo.tsx b/src/screens/onboarding/OnboardingStepTwo.tsx index de869c99..93342c3f 100644 --- a/src/screens/onboarding/OnboardingStepTwo.tsx +++ b/src/screens/onboarding/OnboardingStepTwo.tsx @@ -173,12 +173,10 @@ const OnboardingStepTwo: React.FC = ({ Alert.alert(ERROR_REGISTRATION(Object.values(data))); break; default: - console.log('fooo'); Alert.alert(ERROR_SOMETHING_WENT_WRONG_REFRESH); break; } } else { - console.log('barrr'); Alert.alert(ERROR_SOMETHING_WENT_WRONG_REFRESH); } } else { diff --git a/src/services/WaitlistUserService.tsx b/src/services/WaitlistUserService.tsx index 516affe3..f50b7f39 100644 --- a/src/services/WaitlistUserService.tsx +++ b/src/services/WaitlistUserService.tsx @@ -7,7 +7,6 @@ export const adduserToWaitlist: ( last_name: string, ) => Promise = async (phone_number, first_name, last_name) => { try { - console.log(phone_number, first_name, last_name); const response = await fetch(WAITLIST_USER_ENDPOINT, { method: 'POST', headers: { -- cgit v1.2.3-70-g09d2