aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShravya Ramesh <shravs1208@gmail.com>2021-03-11 13:36:34 -0800
committerShravya Ramesh <shravs1208@gmail.com>2021-03-11 13:36:34 -0800
commit803b7a7bcb173d6a263c9d43fec41e5cddfe98f4 (patch)
tree7de9dc30cf0eb193d0203d0429f12c99ece7f528 /src
parentc74285c0f53efc1c4d0794d2f7f563b45e1eb700 (diff)
done; except: update state on previous screen;
Diffstat (limited to 'src')
-rw-r--r--src/assets/icons/front-arrow.svg1
-rw-r--r--src/constants/strings.ts1
-rw-r--r--src/screens/badge/BadgeSelection.tsx4
-rw-r--r--src/screens/suggestedPeopleOnboarding/SuggestedPeopleUploadPictureScreen.tsx32
-rw-r--r--src/services/SuggestedPeopleService.ts5
5 files changed, 28 insertions, 15 deletions
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 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 720"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:77.17px;}</style></defs><polyline class="cls-1" points="205.65 669.79 514.35 356.69 205.65 50.2"/></svg> \ 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<BadgeSelectionProps> = ({navigation, route}) => {
}
}}>
<Text style={styles.rightButton}>
- {selectedBadges.length !== 0 ? 'Done' : 'Skip'}
+ {selectedBadges.length !== 0 || route?.params.editing
+ ? 'Done'
+ : 'Skip'}
</Text>
</TouchableOpacity>
),
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<string | undefined>(undefined);
+ const [oldImage, setOldImage] = useState<string | undefined>(undefined);
const [selectedBadges, setSelectedBadges] = useState<UniversityBadge[]>([]);
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}) => {
</View>
<TouchableOpacity
onPress={() => {
- navigation.push('BadgeSelection', {selectedBadges});
+ navigation.push('BadgeSelection', {
+ selectedBadges,
+ });
}}>
- <BackArrow style={styles.rightArrow} />
+ <FrontArrow style={styles.rightArrow} />
</TouchableOpacity>
</View>
)}
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);