aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/profile/ProfileHeader.tsx16
-rw-r--r--src/components/profile/UniversityIcon.tsx25
-rw-r--r--src/components/search/SearchBar.tsx21
-rw-r--r--src/components/search/SearchResultCell.tsx8
-rw-r--r--src/components/suggestedPeople/BadgesDropdown.tsx4
-rw-r--r--src/components/suggestedPeople/UniversityIconClicked.tsx8
6 files changed, 33 insertions, 49 deletions
diff --git a/src/components/profile/ProfileHeader.tsx b/src/components/profile/ProfileHeader.tsx
index 0b93de98..2c623c2b 100644
--- a/src/components/profile/ProfileHeader.tsx
+++ b/src/components/profile/ProfileHeader.tsx
@@ -1,14 +1,14 @@
import React, {useState} from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {useSelector} from 'react-redux';
-import UniversityIcon from './UniversityIcon';
import {PROFILE_CUTOUT_TOP_Y} from '../../constants';
import {RootState} from '../../store/rootreducer';
-import {ScreenType, Universities} from '../../types';
+import {ScreenType} from '../../types';
import {normalize} from '../../utils';
import Avatar from './Avatar';
import FriendsCount from './FriendsCount';
import ProfileMoreInfoDrawer from './ProfileMoreInfoDrawer';
+import UniversityIcon from './UniversityIcon';
type ProfileHeaderProps = {
userXId: string | undefined;
@@ -24,11 +24,11 @@ const ProfileHeader: React.FC<ProfileHeaderProps> = ({
handleBlockUnblock,
}) => {
const {
- profile: {name = '', university_class = 2021, university = Universities.cornell} = {},
+ profile: {name = '', university_class = 2021, university},
user: {username: userXName = ''},
- } = userXId
- ? useSelector((state: RootState) => state.userX[screenType][userXId])
- : useSelector((state: RootState) => state.user);
+ } = useSelector((state: RootState) =>
+ userXId ? state.userX[screenType][userXId] : state.user,
+ );
const [drawerVisible, setDrawerVisible] = useState(false);
const [firstName, lastName] = [...name.split(' ')];
return (
@@ -59,9 +59,7 @@ const ProfileHeader: React.FC<ProfileHeaderProps> = ({
)}
<View style={styles.friendsAndUniversity}>
<FriendsCount screenType={screenType} userXId={userXId} />
- <UniversityIcon
- {...{university, university_class}}
- />
+ <UniversityIcon {...{university, university_class}} />
</View>
</View>
</View>
diff --git a/src/components/profile/UniversityIcon.tsx b/src/components/profile/UniversityIcon.tsx
index 1642b8f0..4cb1abe6 100644
--- a/src/components/profile/UniversityIcon.tsx
+++ b/src/components/profile/UniversityIcon.tsx
@@ -1,10 +1,11 @@
import React from 'react';
import {ImageStyle, StyleProp, StyleSheet, ViewProps} from 'react-native';
import {Image, Text, View} from 'react-native-animatable';
-import {getUniversityClass, normalize} from '../../utils';
-import {Universities} from '../../types';
+import {getUniversityBadge, getUniversityClass, normalize} from '../../utils';
+import {UniversityType} from '../../types';
+
export interface UniversityIconProps extends ViewProps {
- university: Universities;
+ university: UniversityType;
university_class?: number;
imageStyle?: StyleProp<ImageStyle>;
}
@@ -18,22 +19,12 @@ const UniversityIcon: React.FC<UniversityIconProps> = ({
university_class,
imageStyle,
}) => {
- var universityIcon;
- switch (university) {
- case 'Cornell':
- universityIcon = require('../../assets/universities/cornell.png');
- break;
- case 'Brown':
- universityIcon = require('../../assets/universities/brown.png');
- break;
- default:
- universityIcon = require('../../assets/universities/brown.png');
- break;
- }
-
return (
<View style={[styles.container, style]}>
- <Image source={universityIcon} style={[styles.icon, imageStyle]} />
+ <Image
+ source={getUniversityBadge(university, 'Crest')}
+ style={[styles.icon, imageStyle]}
+ />
{university_class && (
<Text style={styles.univClass}>
{getUniversityClass(university_class)}
diff --git a/src/components/search/SearchBar.tsx b/src/components/search/SearchBar.tsx
index 5008ff53..4824b56f 100644
--- a/src/components/search/SearchBar.tsx
+++ b/src/components/search/SearchBar.tsx
@@ -1,22 +1,21 @@
-import React, {useState, useEffect} from 'react';
+import React, {useEffect, useState} from 'react';
import {
+ Keyboard,
+ NativeSyntheticEvent,
StyleSheet,
- TextInput,
- TouchableOpacity,
Text,
- View,
+ TextInput,
TextInputProps,
- Keyboard,
- NativeSyntheticEvent,
TextInputSubmitEditingEventData,
+ TouchableOpacity,
+ View,
} from 'react-native';
+import {normalize} from 'react-native-elements';
import Animated, {interpolate} from 'react-native-reanimated';
import Icon from 'react-native-vector-icons/Feather';
-import {normalize} from 'react-native-elements';
-import {SCREEN_HEIGHT, getSearchSuggestions} from '../../utils';
import {useSelector} from 'react-redux';
import {RootState} from '../../store/rootReducer';
-import {Universities} from '../../types';
+import {getSearchSuggestions, SCREEN_HEIGHT} from '../../utils';
const AnimatedIcon = Animated.createAnimatedComponent(Icon);
@@ -40,9 +39,7 @@ const SearchBar: React.FC<SearchBarProps> = ({
e.preventDefault();
Keyboard.dismiss();
};
- const {profile: {university = Universities.cornell} = {}} = useSelector(
- (state: RootState) => state.user,
- );
+ const {university} = useSelector((state: RootState) => state.user.profile);
const DEFAULT_PLACEHOLDER: string = 'Search';
// the list of suggestions to cycle through. TODO: get this from the backend
const SEARCH_SUGGESTIONS: string[] = getSearchSuggestions(university);
diff --git a/src/components/search/SearchResultCell.tsx b/src/components/search/SearchResultCell.tsx
index 6ebe19a6..5a6ea110 100644
--- a/src/components/search/SearchResultCell.tsx
+++ b/src/components/search/SearchResultCell.tsx
@@ -10,7 +10,7 @@ import {
CategoryPreviewType,
ProfilePreviewType,
ScreenType,
- Universities,
+ UniversityType,
UserType,
} from '../../types';
import {
@@ -46,9 +46,7 @@ const SearchResultsCell: React.FC<SearchResults> = ({
}) => {
const [avatar, setAvatar] = useState<string | undefined>(undefined);
- const {profile: {university = Universities.cornell} = {}} = useSelector(
- (state: RootState) => state.user,
- );
+ const {university} = useSelector((state: RootState) => state.user.profile);
useEffect(() => {
(async () => {
@@ -157,7 +155,7 @@ const SearchResultsCell: React.FC<SearchResults> = ({
<Image
resizeMode="contain"
source={
- category in Universities
+ category in UniversityType
? getUniversityBadge(university, 'Search')
: searchIcon()
}
diff --git a/src/components/suggestedPeople/BadgesDropdown.tsx b/src/components/suggestedPeople/BadgesDropdown.tsx
index f8e7bdaa..bc4e7a54 100644
--- a/src/components/suggestedPeople/BadgesDropdown.tsx
+++ b/src/components/suggestedPeople/BadgesDropdown.tsx
@@ -4,12 +4,12 @@ import {Image, 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';
-import {Universities, UniversityBadge} from '../../types';
+import {UniversityType, UniversityBadge} from '../../types';
import {UniversityIcon} from '..';
import {normalize, SCREEN_WIDTH} from '../../utils';
import UniversityIconClicked from './UniversityIconClicked';
interface BadgesDropdownProps {
- university: Universities;
+ university: UniversityType;
localBadges: {
badge: UniversityBadge;
img: string;
diff --git a/src/components/suggestedPeople/UniversityIconClicked.tsx b/src/components/suggestedPeople/UniversityIconClicked.tsx
index 7a0f3442..41e27c8e 100644
--- a/src/components/suggestedPeople/UniversityIconClicked.tsx
+++ b/src/components/suggestedPeople/UniversityIconClicked.tsx
@@ -2,9 +2,9 @@ import React from 'react';
import {ImageStyle, StyleProp, StyleSheet, ViewProps} from 'react-native';
import {Image, Text, View} from 'react-native-animatable';
import {getUniversityClass, normalize} from '../../utils';
-import {Universities} from '../../types';
+import {UniversityType} from '../../types';
export interface UniversityIconClickedProps extends ViewProps {
- university: Universities;
+ university: UniversityType;
university_class?: number;
imageStyle?: StyleProp<ImageStyle>;
}
@@ -20,10 +20,10 @@ const UniversityIconClicked: React.FC<UniversityIconClickedProps> = ({
}) => {
var universityIcon;
switch (university) {
- case 'Cornell':
+ case UniversityType.Cornell:
universityIcon = require('../../assets/universities/cornell-clicked.png');
break;
- case 'Brown':
+ case UniversityType.Brown:
universityIcon = require('../../assets/universities/brown-clicked.png');
break;
default: