diff options
Diffstat (limited to 'src/components/profile/ProfileHeader.tsx')
-rw-r--r-- | src/components/profile/ProfileHeader.tsx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/components/profile/ProfileHeader.tsx b/src/components/profile/ProfileHeader.tsx index 2c623c2b..9dc58501 100644 --- a/src/components/profile/ProfileHeader.tsx +++ b/src/components/profile/ProfileHeader.tsx @@ -1,10 +1,12 @@ import React, {useState} from 'react'; import {StyleSheet, Text, View} from 'react-native'; +import {TouchableOpacity} from 'react-native-gesture-handler'; import {useSelector} from 'react-redux'; import {PROFILE_CUTOUT_TOP_Y} from '../../constants'; import {RootState} from '../../store/rootreducer'; import {ScreenType} from '../../types'; import {normalize} from '../../utils'; +import BadgeDetailView from '../common/BadgeDetailView'; import Avatar from './Avatar'; import FriendsCount from './FriendsCount'; import ProfileMoreInfoDrawer from './ProfileMoreInfoDrawer'; @@ -29,8 +31,14 @@ const ProfileHeader: React.FC<ProfileHeaderProps> = ({ } = useSelector((state: RootState) => userXId ? state.userX[screenType][userXId] : state.user, ); + + const { + user: {username = ''}, + } = useSelector((state: RootState) => state.user); const [drawerVisible, setDrawerVisible] = useState(false); + const [showBadgeView, setBadgeViewVisible] = useState(false); const [firstName, lastName] = [...name.split(' ')]; + return ( <View style={styles.container}> <ProfileMoreInfoDrawer @@ -59,7 +67,18 @@ const ProfileHeader: React.FC<ProfileHeaderProps> = ({ )} <View style={styles.friendsAndUniversity}> <FriendsCount screenType={screenType} userXId={userXId} /> - <UniversityIcon {...{university, university_class}} /> + <TouchableOpacity onPress={() => setBadgeViewVisible(true)}> + <UniversityIcon + {...{university, university_class, needsShadow: true}} + /> + </TouchableOpacity> + {showBadgeView && ( + <BadgeDetailView + isEditable={userXName === username} + name={name} + setBadgeViewVisible={setBadgeViewVisible} + /> + )} </View> </View> </View> |