diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-25 12:28:41 -0400 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-05-25 12:28:41 -0400 |
commit | 913e321498b87163a19fa12e95d79fcd4d1b0b29 (patch) | |
tree | 0bc3fb942cc2f62fc5f85e7b7a7693675861b570 | |
parent | 7f991eef32475165f819dc8b666c5763f0021696 (diff) |
Clean up code
-rw-r--r-- | src/components/suggestedPeople/BadgesDropdown.tsx | 13 | ||||
-rw-r--r-- | src/screens/suggestedPeople/SPBody.tsx | 25 |
2 files changed, 15 insertions, 23 deletions
diff --git a/src/components/suggestedPeople/BadgesDropdown.tsx b/src/components/suggestedPeople/BadgesDropdown.tsx index bc4e7a54..0d4725d9 100644 --- a/src/components/suggestedPeople/BadgesDropdown.tsx +++ b/src/components/suggestedPeople/BadgesDropdown.tsx @@ -1,6 +1,6 @@ import {useNavigation} from '@react-navigation/native'; import React, {useEffect, useState} from 'react'; -import {Image, StyleSheet} from 'react-native'; +import {Image, ImageSourcePropType, StyleSheet} from 'react-native'; import {TouchableOpacity} from 'react-native-gesture-handler'; import LinearGradient from 'react-native-linear-gradient'; import Animated, {Easing} from 'react-native-reanimated'; @@ -8,19 +8,18 @@ import {UniversityType, UniversityBadge} from '../../types'; import {UniversityIcon} from '..'; import {normalize, SCREEN_WIDTH} from '../../utils'; import UniversityIconClicked from './UniversityIconClicked'; + interface BadgesDropdownProps { university: UniversityType; localBadges: { badge: UniversityBadge; - img: string; + img: ImageSourcePropType; }[]; - badges: UniversityBadge[]; } const BadgesDropdown: React.FC<BadgesDropdownProps> = ({ university, localBadges, - badges, }) => { // Used to toggle between dropdown being displayed and not const [displayBadges, setDisplayBadges] = useState<boolean>(false); @@ -33,7 +32,7 @@ const BadgesDropdown: React.FC<BadgesDropdownProps> = ({ // Initialize position of badges to 0 const defineBadgePositions = () => { let localTop: Animated.Value<number>[] = []; - badges.forEach(() => { + localBadges.forEach(() => { localTop.push(new Animated.Value(0)); }); setTop(localTop); @@ -43,7 +42,7 @@ const BadgesDropdown: React.FC<BadgesDropdownProps> = ({ // Displays badges dropdown by updating top [state] for every badge const animate = () => { - for (let i = 0; i < badges?.length; i++) { + for (let i = 0; i < localBadges?.length; i++) { if (top) { Animated.timing(top[i], { toValue: i * 40 + 50, @@ -56,7 +55,7 @@ const BadgesDropdown: React.FC<BadgesDropdownProps> = ({ // Draws back displayed badges by setting top [state] to 0 for every badge const animateBack = () => { - for (let i = 0; i < badges?.length; i++) { + for (let i = 0; i < localBadges?.length; i++) { if (top) { Animated.timing(top[i], { toValue: 0, diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index c22f8143..352e4433 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -1,6 +1,12 @@ import {useNavigation} from '@react-navigation/native'; import React, {Fragment, useEffect, useMemo, useState} from 'react'; -import {StyleSheet, Text, View} from 'react-native'; +import { + ImageSourcePropType, + ScrollView, + 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'; @@ -43,7 +49,7 @@ const SPBody: React.FC<SPBodyProps> = ({ const [localBadges, setLocalBadges] = useState< { badge: UniversityBadge; - img: string; + img: ImageSourcePropType; }[] >([]); const navigation = useNavigation(); @@ -138,9 +144,7 @@ const SPBody: React.FC<SPBodyProps> = ({ <View style={styles.mainContainer}> <View style={styles.topContainer}> <Text style={styles.title}>{firstItem && 'Suggested People'}</Text> - {localBadges && ( - <BadgesDropdown {...{university, localBadges, badges}} /> - )} + {localBadges && <BadgesDropdown {...{university, localBadges}} />} </View> <View style={styles.body}> <View style={styles.marginManager}> @@ -267,17 +271,6 @@ const styles = StyleSheet.create({ shadowOffset: {width: 2, height: 2}, shadowOpacity: 0.5, }, - body: {}, - button: { - justifyContent: 'center', - alignItems: 'center', - width: SCREEN_WIDTH * 0.4, - aspectRatio: 154 / 33, - borderWidth: 2, - borderColor: '#fff', - borderRadius: 3, - marginRight: '2%', - marginLeft: '1%', }, }); |