From ca2cd1f2430342772ae893f0eae111accf7df0fa Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 1 Jun 2021 17:16:58 -0400 Subject: Add UniversityBadgeDisplayType --- src/screens/suggestedPeople/SPBody.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/screens') diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index eb80da49..c1064224 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -132,7 +132,7 @@ const SPBody: React.FC = ({ // Badges aligned left and spaced as if there are 5 items {localBadges.map(({badge, img}, index) => ( - + ))} {[0, 0, 0, 0, 0].splice(localBadges.length, 5).map((_, index) => ( -- cgit v1.2.3-70-g09d2 From 0cc8363a5890ec7fa15f48996fb813f47b6c71b4 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 1 Jun 2021 17:40:33 -0400 Subject: Convert local badges to display badges, Cleanup code --- .../suggestedPeople/legacy/BadgesDropdown.tsx | 13 +++---- src/screens/suggestedPeople/SPBody.tsx | 45 ++++++++-------------- src/utils/common.ts | 35 ++++++++++++++++- 3 files changed, 54 insertions(+), 39 deletions(-) (limited to 'src/screens') diff --git a/src/components/suggestedPeople/legacy/BadgesDropdown.tsx b/src/components/suggestedPeople/legacy/BadgesDropdown.tsx index 9f8d2a5a..2c177e69 100644 --- a/src/components/suggestedPeople/legacy/BadgesDropdown.tsx +++ b/src/components/suggestedPeople/legacy/BadgesDropdown.tsx @@ -1,18 +1,15 @@ import React, {useEffect, useState} from 'react'; -import {ImageSourcePropType, StyleSheet} from 'react-native'; +import {StyleSheet} from 'react-native'; import {TouchableOpacity} from 'react-native-gesture-handler'; import Animated, {Easing} from 'react-native-reanimated'; import {BadgeIcon, UniversityIcon} from '../..'; -import {UniversityBadge, UniversityType} from '../../../types'; +import {UniversityBadgeDisplayType, UniversityType} from '../../../types'; import {normalize} from '../../../utils'; import UniversityIconClicked from '../UniversityIconClicked'; interface BadgesDropdownProps { university: UniversityType; - localBadges: { - badge: UniversityBadge; - img: ImageSourcePropType; - }[]; + localBadges: UniversityBadgeDisplayType[]; } const BadgesDropdown: React.FC = ({ @@ -92,7 +89,7 @@ const BadgesDropdown: React.FC = ({ )} {localBadges && - localBadges.map(({badge, img}, index) => ( + localBadges.map((badge, index) => ( = ({ zIndex: -1 * badge.id, }, ]}> - + ))} diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index c1064224..10ad63f0 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -1,19 +1,24 @@ import {useNavigation} from '@react-navigation/native'; import React, {Fragment, useEffect, useMemo, useState} from 'react'; -import {ImageSourcePropType, StyleSheet, Text, View} from 'react-native'; +import {StyleSheet, Text, View} from 'react-native'; import {Image} from 'react-native-animatable'; import {TouchableOpacity} from 'react-native-gesture-handler'; import RequestedButton from '../../assets/ionicons/requested-button.svg'; import {UniversityIcon} from '../../components'; import {BadgeIcon, MutualFriends} from '../../components/suggestedPeople'; -import {BADGE_DATA} from '../../constants/badges'; import { ProfilePreviewType, ScreenType, SuggestedPeopleDataType, - UniversityBadge, + UniversityBadgeDisplayType, } from '../../types'; -import {isIPhoneX, normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; +import { + badgesToDisplayBadges, + isIPhoneX, + normalize, + SCREEN_HEIGHT, + SCREEN_WIDTH, +} from '../../utils'; interface SPBodyProps { item: SuggestedPeopleDataType; @@ -39,30 +44,12 @@ const SPBody: React.FC = ({ }) => { const firstItem = itemIndex === 0; const screenType = ScreenType.SuggestedPeople; - const [localBadges, setLocalBadges] = useState< - { - badge: UniversityBadge; - img: ImageSourcePropType; - }[] + const [displayBadges, setDisplayBadges] = useState< + UniversityBadgeDisplayType[] >([]); const navigation = useNavigation(); useEffect(() => { - const newBadges: {badge: UniversityBadge; img: any}[] = []; - const findBadgeIcons = (badge: UniversityBadge) => { - BADGE_DATA[university]?.forEach((item) => { - if (item.title === badge.category) { - item.data.forEach((object) => { - if (object.badgeName === badge.name) { - newBadges.push({badge, img: object.badgeImage}); - } - }); - } - }); - setLocalBadges(newBadges); - }; - badges - ? badges.forEach((badge) => findBadgeIcons(badge)) - : console.log('NO BADGES FOUND'); + setDisplayBadges(badgesToDisplayBadges(badges)); }, []); const FriendButton = () => { @@ -131,10 +118,10 @@ const SPBody: React.FC = ({ const Badges = () => ( // Badges aligned left and spaced as if there are 5 items - {localBadges.map(({badge, img}, index) => ( - + {displayBadges.map((displayBadge, index) => ( + ))} - {[0, 0, 0, 0, 0].splice(localBadges.length, 5).map((_, index) => ( + {[0, 0, 0, 0, 0].splice(displayBadges.length, 5).map((_, index) => ( ))} @@ -159,7 +146,7 @@ const SPBody: React.FC = ({ {user.id !== loggedInUserId && } - {localBadges.length !== 0 && } + {displayBadges.length !== 0 && } diff --git a/src/utils/common.ts b/src/utils/common.ts index 95e77f64..6804558f 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,12 +1,18 @@ import AsyncStorage from '@react-native-community/async-storage'; +import {HeaderTitle} from '@react-navigation/stack'; import moment from 'moment'; import {Linking} from 'react-native'; import {getAll} from 'react-native-contacts'; -import {BROWSABLE_SOCIAL_URLS, TOGGLE_BUTTON_TYPE} from '../constants'; +import { + BADGE_DATA, + BROWSABLE_SOCIAL_URLS, + TOGGLE_BUTTON_TYPE, +} from '../constants'; import { ContactType, NotificationType, - UniversityBadgeType, + UniversityBadge, + UniversityBadgeDisplayType, UniversityType, } from './../types/types'; @@ -197,3 +203,28 @@ export const validateImageLink = async (url: string | undefined) => { return false; }); }; + +/** + * Turns a list badges into display badges (with img) by looking up the img source + * from our badge asset lookup constant. + * @param badges list of university badges + * @returns list of display badges + */ +export const badgesToDisplayBadges = (badges: UniversityBadge[]) => { + const displayBadges: UniversityBadgeDisplayType[] = []; + badges.forEach((badge) => { + BADGE_DATA[badge.university].forEach((category) => { + if (category.title === badge.category) { + category.data.forEach((badgeInfo) => { + if (badgeInfo.badgeName === badge.name) { + displayBadges.push({ + ...badge, + img: badgeInfo.badgeImage, + }); + } + }); + } + }); + }); + return displayBadges; +}; -- cgit v1.2.3-70-g09d2 From 653aae1cd0409effdd14e215078986737c4c65ef Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 1 Jun 2021 18:32:38 -0400 Subject: Finish profile badges component --- src/components/profile/ProfileBadges.tsx | 98 ++++++++++++++++++++++++++------ src/constants/constants.ts | 2 + src/screens/suggestedPeople/SPBody.tsx | 9 ++- 3 files changed, 90 insertions(+), 19 deletions(-) (limited to 'src/screens') diff --git a/src/components/profile/ProfileBadges.tsx b/src/components/profile/ProfileBadges.tsx index 13e775f7..39e84705 100644 --- a/src/components/profile/ProfileBadges.tsx +++ b/src/components/profile/ProfileBadges.tsx @@ -1,12 +1,15 @@ +import {useNavigation} from '@react-navigation/core'; import React, {useEffect, useState} from 'react'; -import {Alert, StyleSheet, Text, View} from 'react-native'; -import {ScrollView} from 'react-native-gesture-handler'; +import {StyleSheet, Text, View} from 'react-native'; +import {ScrollView, TouchableOpacity} from 'react-native-gesture-handler'; import {useSelector} from 'react-redux'; import {BadgeIcon} from '..'; import PlusIcon from '../../assets/icons/plus_icon-01.svg'; +import {BADGE_LIMIT} from '../../constants'; import {RootState} from '../../store/rootReducer'; import {ScreenType, UniversityBadgeDisplayType} from '../../types'; import {badgesToDisplayBadges, normalize} from '../../utils'; +import BadgeDetailView from '../common/BadgeDetailView'; interface ProfileBadgesProps { userXId: string | undefined; @@ -14,12 +17,14 @@ interface ProfileBadgesProps { } const ProfileBadges: React.FC = ({userXId, screenType}) => { - const {badges} = useSelector((state: RootState) => + const navigation = useNavigation(); + const {badges, name} = useSelector((state: RootState) => userXId ? state.userX[screenType][userXId].profile : state.user.profile, ); const [displayBadges, setDisplayBadges] = useState< UniversityBadgeDisplayType[] >([]); + const [isEditBadgeModalVisible, setIsEditBadgeModalVisible] = useState(false); useEffect(() => { setDisplayBadges(badgesToDisplayBadges(badges)); @@ -27,6 +32,7 @@ const ProfileBadges: React.FC = ({userXId, screenType}) => { return ( <> + {/* Tutorial text */} {displayBadges.length === 0 && ( <> Badges @@ -36,24 +42,81 @@ const ProfileBadges: React.FC = ({userXId, screenType}) => { )} {displayBadges.length === 0 ? ( - - Alert.alert('fooo')} - /> - {[0, 0, 0, 0, 0].map(() => ( - - ))} + // Grey circle placeholders + + + navigation.navigate('BadgeSelection', {editing: true}) + }> + + + {Array(BADGE_LIMIT) + .fill(0) + .map(() => ( + + ))} ) : ( - + // Populating actual badges + + {/* Actual badges */} {displayBadges.map((displayBadge) => ( ))} + {/* Plus icon */} + {displayBadges.length < BADGE_LIMIT && ( + + navigation.navigate('BadgeSelection', {editing: true}) + }> + + + )} + {/* Empty placeholders for space-between styling */} + {Array(BADGE_LIMIT + 1) + .fill(0) + .splice(displayBadges.length + 1, BADGE_LIMIT) + .map(() => ( + + ))} + {/* X button */} + {displayBadges.length === BADGE_LIMIT && ( + setIsEditBadgeModalVisible(true)}> + + + )} )} + {isEditBadgeModalVisible && ( + + )} ); }; @@ -67,16 +130,19 @@ const styles = StyleSheet.create({ body: { fontSize: normalize(13.5), lineHeight: normalize(17), + marginBottom: 10, }, badgeContainer: { width: '100%', - borderWidth: 1, justifyContent: 'space-between', + marginBottom: 15, }, - greyCircle: { + circle: { width: normalize(31), height: normalize(31), borderRadius: normalize(31) / 2, + }, + grey: { backgroundColor: '#c4c4c4', }, }); diff --git a/src/constants/constants.ts b/src/constants/constants.ts index 99d3901b..a6d98883 100644 --- a/src/constants/constants.ts +++ b/src/constants/constants.ts @@ -21,6 +21,8 @@ export const AVATAR_GRADIENT_DIM = 50; export const TAGG_ICON_DIM = 58; export const TAGG_RING_DIM = normalize(60); +export const BADGE_LIMIT = 5; + export const INTEGRATED_SOCIAL_LIST: string[] = [ 'Instagram', 'Facebook', diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index 10ad63f0..c37b4c44 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -121,9 +121,12 @@ const SPBody: React.FC = ({ {displayBadges.map((displayBadge, index) => ( ))} - {[0, 0, 0, 0, 0].splice(displayBadges.length, 5).map((_, index) => ( - - ))} + {Array(5) + .fill(0) + .splice(displayBadges.length, 5) + .map((_, index) => ( + + ))} ); -- cgit v1.2.3-70-g09d2 From 21bd2597b72c8ba8246b98e72fe45ba373046a7f Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Wed, 2 Jun 2021 13:32:00 -0400 Subject: Update icon assets --- src/assets/icons/plus-icon-thin.svg | 1 + src/assets/icons/plus-icon-white.svg | 1 + src/assets/icons/plus-icon.svg | 1 + src/assets/icons/plus_icon-01.svg | 1 - src/assets/icons/plus_icon-02.svg | 1 - src/assets/images/plus-icon-thin.png | Bin 2169 -> 0 bytes src/components/moments/Moment.tsx | 4 ++-- src/components/profile/ProfileBadges.tsx | 13 ++++--------- src/screens/profile/CategorySelection.tsx | 2 +- 9 files changed, 10 insertions(+), 14 deletions(-) create mode 100644 src/assets/icons/plus-icon-thin.svg create mode 100644 src/assets/icons/plus-icon-white.svg create mode 100644 src/assets/icons/plus-icon.svg delete mode 100644 src/assets/icons/plus_icon-01.svg delete mode 100644 src/assets/icons/plus_icon-02.svg delete mode 100644 src/assets/images/plus-icon-thin.png (limited to 'src/screens') diff --git a/src/assets/icons/plus-icon-thin.svg b/src/assets/icons/plus-icon-thin.svg new file mode 100644 index 00000000..1a582474 --- /dev/null +++ b/src/assets/icons/plus-icon-thin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/plus-icon-white.svg b/src/assets/icons/plus-icon-white.svg new file mode 100644 index 00000000..25527911 --- /dev/null +++ b/src/assets/icons/plus-icon-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/plus-icon.svg b/src/assets/icons/plus-icon.svg new file mode 100644 index 00000000..7a3b21d2 --- /dev/null +++ b/src/assets/icons/plus-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/plus_icon-01.svg b/src/assets/icons/plus_icon-01.svg deleted file mode 100644 index 7a3b21d2..00000000 --- a/src/assets/icons/plus_icon-01.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/icons/plus_icon-02.svg b/src/assets/icons/plus_icon-02.svg deleted file mode 100644 index 25527911..00000000 --- a/src/assets/icons/plus_icon-02.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/plus-icon-thin.png b/src/assets/images/plus-icon-thin.png deleted file mode 100644 index 6f0a305e..00000000 Binary files a/src/assets/images/plus-icon-thin.png and /dev/null differ diff --git a/src/components/moments/Moment.tsx b/src/components/moments/Moment.tsx index 0ceb8542..cde5b2e0 100644 --- a/src/components/moments/Moment.tsx +++ b/src/components/moments/Moment.tsx @@ -7,8 +7,8 @@ import ImagePicker from 'react-native-image-crop-picker'; import LinearGradient from 'react-native-linear-gradient'; import DeleteIcon from '../../assets/icons/delete-logo.svg'; import DownIcon from '../../assets/icons/down_icon.svg'; -import PlusIcon from '../../assets/icons/plus_icon-01.svg'; -import BigPlusIcon from '../../assets/icons/plus_icon-02.svg'; +import PlusIcon from '../../assets/icons/plus-icon.svg'; +import BigPlusIcon from '../../assets/icons/plus-icon-white.svg'; import UpIcon from '../../assets/icons/up_icon.svg'; import {TAGG_LIGHT_BLUE} from '../../constants'; import {ERROR_UPLOAD} from '../../constants/strings'; diff --git a/src/components/profile/ProfileBadges.tsx b/src/components/profile/ProfileBadges.tsx index 5ce776c2..aef52903 100644 --- a/src/components/profile/ProfileBadges.tsx +++ b/src/components/profile/ProfileBadges.tsx @@ -9,6 +9,7 @@ import {RootState} from '../../store/rootReducer'; import {ScreenType, UniversityBadgeDisplayType} from '../../types'; import {badgesToDisplayBadges, normalize} from '../../utils'; import BadgeDetailView from '../common/BadgeDetailView'; +import PlusIconImage from '../../assets/icons/plus-icon-thin.svg'; interface ProfileBadgesProps { userXId: string | undefined; @@ -33,20 +34,13 @@ const ProfileBadges: React.FC = ({userXId, screenType}) => { const PlusIcon: FC = () => ( navigation.navigate('BadgeSelection', {editing: true})}> - + ); const CloseIcon: FC = () => ( setIsEditBadgeModalVisible(true)}> - {/* TODO: needs to be grey :shrug: */} - + ); @@ -141,6 +135,7 @@ const styles = StyleSheet.create({ plus: { width: normalize(31), height: normalize(31), + color: 'black', }, close: { width: normalize(31), diff --git a/src/screens/profile/CategorySelection.tsx b/src/screens/profile/CategorySelection.tsx index c02eef0d..ea443fce 100644 --- a/src/screens/profile/CategorySelection.tsx +++ b/src/screens/profile/CategorySelection.tsx @@ -11,7 +11,7 @@ import { } from 'react-native'; import {ScrollView} from 'react-native-gesture-handler'; import {useDispatch, useSelector} from 'react-redux'; -import PlusIcon from '../../assets/icons/plus_icon-01.svg'; +import PlusIcon from '../../assets/icons/plus-icon.svg'; import {Background, MomentCategory} from '../../components'; import {MOMENT_CATEGORIES, TAGG_LIGHT_BLUE_2} from '../../constants'; import {ERROR_SOMETHING_WENT_WRONG} from '../../constants/strings'; -- cgit v1.2.3-70-g09d2 From 06c1e5674a2e77bfa22048b4d559949403d30e0e Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Wed, 2 Jun 2021 14:54:05 -0400 Subject: Improve util code --- src/components/common/BadgeDetailView.tsx | 2 +- src/components/profile/ProfileBadges.tsx | 8 +++---- src/screens/suggestedPeople/SPBody.tsx | 2 +- src/utils/common.ts | 39 +++++++++++++++++-------------- 4 files changed, 28 insertions(+), 23 deletions(-) (limited to 'src/screens') diff --git a/src/components/common/BadgeDetailView.tsx b/src/components/common/BadgeDetailView.tsx index 85f0a0dc..19f1e74d 100644 --- a/src/components/common/BadgeDetailView.tsx +++ b/src/components/common/BadgeDetailView.tsx @@ -44,7 +44,7 @@ const BadgeDetailView: React.FC = ({ const atLimit = badges.length >= BADGE_LIMIT; useEffect(() => { - setDisplayBadges(badgesToDisplayBadges(badges)); + setDisplayBadges(badgesToDisplayBadges(badges, university)); }, [badges]); const removeBadgeCell = async (badgeName: string) => { diff --git a/src/components/profile/ProfileBadges.tsx b/src/components/profile/ProfileBadges.tsx index aef52903..8e68dc46 100644 --- a/src/components/profile/ProfileBadges.tsx +++ b/src/components/profile/ProfileBadges.tsx @@ -1,15 +1,15 @@ import {useNavigation} from '@react-navigation/core'; import React, {FC, useEffect, useState} from 'react'; -import {Image, StyleSheet, Text, View} from 'react-native'; +import {StyleSheet, Text, View} from 'react-native'; import {ScrollView, TouchableOpacity} from 'react-native-gesture-handler'; import {useSelector} from 'react-redux'; import {BadgeIcon} from '..'; +import PlusIconImage from '../../assets/icons/plus-icon-thin.svg'; import {BADGE_LIMIT} from '../../constants'; import {RootState} from '../../store/rootReducer'; import {ScreenType, UniversityBadgeDisplayType} from '../../types'; import {badgesToDisplayBadges, normalize} from '../../utils'; import BadgeDetailView from '../common/BadgeDetailView'; -import PlusIconImage from '../../assets/icons/plus-icon-thin.svg'; interface ProfileBadgesProps { userXId: string | undefined; @@ -18,7 +18,7 @@ interface ProfileBadgesProps { const ProfileBadges: React.FC = ({userXId, screenType}) => { const navigation = useNavigation(); - const {badges, name} = useSelector((state: RootState) => + const {badges, name, university} = useSelector((state: RootState) => userXId ? state.userX[screenType][userXId].profile : state.user.profile, ); const [displayBadges, setDisplayBadges] = useState< @@ -28,7 +28,7 @@ const ProfileBadges: React.FC = ({userXId, screenType}) => { const isOwnProfile = userXId === undefined; useEffect(() => { - setDisplayBadges(badgesToDisplayBadges(badges)); + setDisplayBadges(badgesToDisplayBadges(badges, university)); }, [badges]); const PlusIcon: FC = () => ( diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index c37b4c44..fea67950 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -49,7 +49,7 @@ const SPBody: React.FC = ({ >([]); const navigation = useNavigation(); useEffect(() => { - setDisplayBadges(badgesToDisplayBadges(badges)); + setDisplayBadges(badgesToDisplayBadges(badges, university)); }, []); const FriendButton = () => { diff --git a/src/utils/common.ts b/src/utils/common.ts index 7e54eeaf..cfd9244a 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,6 +1,6 @@ import AsyncStorage from '@react-native-community/async-storage'; import moment from 'moment'; -import {Linking} from 'react-native'; +import {ImageSourcePropType, Linking} from 'react-native'; import {getAll} from 'react-native-contacts'; import { BADGE_DATA, @@ -205,26 +205,31 @@ export const validateImageLink = async (url: string | undefined) => { }; /** - * Turns a list badges into display badges (with img) by looking up the img source - * from our badge asset lookup constant. + * Turns a list of badges into display badges (just a badge with img) by + * looking up the img source from our badge asset lookup constant. + * + * WARNING: Assumes a small list of badges, complexity goes up exponentially. + * * @param badges list of university badges + * @param university university of which all the badges belong * @returns list of display badges */ -export const badgesToDisplayBadges = (badges: UniversityBadge[]) => { - const displayBadges: UniversityBadgeDisplayType[] = []; - badges.forEach((badge) => { - BADGE_DATA[badge.university].forEach((category) => { - if (category.title === badge.category) { - category.data.forEach((badgeInfo) => { - if (badgeInfo.badgeName === badge.name) { - displayBadges.push({ - ...badge, - img: badgeInfo.badgeImage, - }); - } - }); +export const badgesToDisplayBadges = ( + badges: UniversityBadge[], + university: UniversityType, +) => { + const badgeSet: Set = new Set(badges.map((b) => b.category + b.name)); + const badgeToImgMap: Record = {}; + BADGE_DATA[university].forEach((category) => { + category.data.forEach((badgeInfo) => { + const key = category.title + badgeInfo.badgeName; + if (badgeSet.has(key)) { + badgeToImgMap[key] = badgeInfo.badgeImage; } }); }); - return displayBadges; + return badges.map((b) => ({ + ...b, + img: badgeToImgMap[b.category + b.name], + })); }; -- cgit v1.2.3-70-g09d2 From 65eba8b9be14a397bf49fc3b419d3e64bd0422b7 Mon Sep 17 00:00:00 2001 From: hsalhab Date: Tue, 8 Jun 2021 15:30:35 -0400 Subject: add empty website to submission --- src/screens/profile/EditProfile.tsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/screens') diff --git a/src/screens/profile/EditProfile.tsx b/src/screens/profile/EditProfile.tsx index 26802e45..765bbf01 100644 --- a/src/screens/profile/EditProfile.tsx +++ b/src/screens/profile/EditProfile.tsx @@ -305,14 +305,13 @@ const EditProfile: React.FC = ({route, navigation}) => { type: 'image/jpg', }); } - if (form.website) { - if (form.isValidWebsite) { - request.append('website', form.website); - } else { - setForm({...form, attemptedSubmit: false}); - setTimeout(() => setForm({...form, attemptedSubmit: true})); - invalidFields = true; - } + + if (form.isValidWebsite) { + request.append('website', form.website); + } else { + setForm({...form, attemptedSubmit: false}); + setTimeout(() => setForm({...form, attemptedSubmit: true})); + invalidFields = true; } if (form.bio) { -- cgit v1.2.3-70-g09d2