From c74285c0f53efc1c4d0794d2f7f563b45e1eb700 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Thu, 11 Mar 2021 09:18:16 -0800 Subject: refactoring --- src/screens/badge/BadgeSelection.tsx | 71 +++++----------------------------- src/screens/suggestedPeople/SPBody.tsx | 2 +- 2 files changed, 10 insertions(+), 63 deletions(-) (limited to 'src/screens') diff --git a/src/screens/badge/BadgeSelection.tsx b/src/screens/badge/BadgeSelection.tsx index 7088821a..ed3f199d 100644 --- a/src/screens/badge/BadgeSelection.tsx +++ b/src/screens/badge/BadgeSelection.tsx @@ -1,4 +1,3 @@ -import AsyncStorage from '@react-native-community/async-storage'; import {RouteProp} from '@react-navigation/core'; import {StackNavigationProp} from '@react-navigation/stack'; import React, {useEffect, useState} from 'react'; @@ -7,17 +6,11 @@ import {Text} from 'react-native-animatable'; import {TouchableOpacity} from 'react-native-gesture-handler'; import LinearGradient from 'react-native-linear-gradient'; import {useDispatch} from 'react-redux'; -import {MainStackParams} from 'src/routes'; -import { - ADD_USER_BADGES, - BACKGROUND_GRADIENT_MAP, - UPDATE_USER_BADGES, -} from '../../constants'; +import {MainStackParams} from '../../routes'; +import {addBadgesService, updateBadgesService} from '../../services'; +import {BACKGROUND_GRADIENT_MAP} from '../../constants'; import {BADGE_DATA} from '../../constants/badges'; -import { - ERROR_BADGES_EXCEED_LIMIT, - ERROR_UPLOAD_BADGES, -} from '../../constants/strings'; +import {ERROR_BADGES_EXCEED_LIMIT} from '../../constants/strings'; import {suggestedPeopleBadgesFinished} from '../../store/actions'; import {BackgroundGradientType, UniversityBadge} from '../../types'; import {SCREEN_HEIGHT, StatusBarHeight} from '../../utils'; @@ -52,11 +45,14 @@ const BadgeSelection: React.FC = ({navigation, route}) => { style={styles.rightButtonContainer} onPress={async () => { if (route?.params.editing) { - updateBadgesService(); + updateBadgesService(selectedBadges); navigation.goBack(); } else { if (selectedBadges.length !== 0) { - uploadUserSelection(); + const success = await addBadgesService(selectedBadges); + if (success) { + dispatch(suggestedPeopleBadgesFinished()); + } } else { dispatch(suggestedPeopleBadgesFinished()); } @@ -103,55 +99,6 @@ const BadgeSelection: React.FC = ({navigation, route}) => { } }; - const uploadUserSelection = async () => { - try { - const token = await AsyncStorage.getItem('token'); - const form = new FormData(); - form.append('badges', JSON.stringify(selectedBadges)); - const response = await fetch(ADD_USER_BADGES, { - method: 'POST', - headers: { - 'Content-Type': 'multipart/form-data', - Authorization: 'Token ' + token, - }, - body: form, - }); - if (response.status === 400) { - Alert.alert(ERROR_BADGES_EXCEED_LIMIT); - return; - } - dispatch(suggestedPeopleBadgesFinished()); - } catch (error) { - console.log(error); - Alert.alert(ERROR_UPLOAD_BADGES); - } - }; - - const updateBadgesService = async () => { - try { - const token = await AsyncStorage.getItem('token'); - const form = new FormData(); - console.log('selectedBadges: ', selectedBadges); - form.append('badges', JSON.stringify(selectedBadges)); - const response = await fetch(UPDATE_USER_BADGES, { - method: 'POST', - headers: { - 'Content-Type': 'multipart/form-data', - Authorization: 'Token ' + token, - }, - body: form, - }); - if (response.status === 400) { - Alert.alert(ERROR_BADGES_EXCEED_LIMIT); - return; - } - console.log('response: ', response); - } catch (error) { - console.log(error); - Alert.alert(ERROR_UPLOAD_BADGES); - } - }; - return ( = ({ let array = []; useEffect(() => { const findBadgeIcons = (badge: UniversityBadge) => { - DATA.forEach((item) => { + DATA?.forEach((item) => { if (item.title === badge.category) { item.data.forEach((object) => { if (object.badgeName === badge.name) { -- cgit v1.2.3-70-g09d2