From 64f8829ab55bfe6851f10ca933043877769c56bf Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Fri, 26 Mar 2021 17:28:23 -0400 Subject: show taggsbar, prevent taggsbar navigation on profile and SP --- src/screens/suggestedPeople/SPBody.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/screens') diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index 8e0801c2..7bedb137 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -14,7 +14,13 @@ import { SuggestedPeopleDataType, UniversityBadge, } from '../../types'; -import {isIPhoneX, normalize, SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; +import { + canViewProfile, + isIPhoneX, + normalize, + SCREEN_HEIGHT, + SCREEN_WIDTH, +} from '../../utils'; interface SPBodyProps { item: SuggestedPeopleDataType; @@ -32,6 +38,7 @@ const SPBody: React.FC = ({ suggested_people_url, friendship, badges, + is_private, }, itemIndex, onAddFriend, @@ -156,6 +163,11 @@ const SPBody: React.FC = ({ screenType={screenType} whiteRing={true} linkedSocials={social_links} + allowNavigation={canViewProfile( + loggedInUserId === user.id, + is_private, + friendship.status === 'friends', + )} /> -- cgit v1.2.3-70-g09d2 From f16ab73dbda9ac345c85837b48966ef6574876ed Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Mon, 29 Mar 2021 14:07:05 -0400 Subject: code cleanup, prevent navigation from SP taggs bar --- src/components/profile/FriendsCount.tsx | 8 ++++---- src/screens/suggestedPeople/SPBody.tsx | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/screens') diff --git a/src/components/profile/FriendsCount.tsx b/src/components/profile/FriendsCount.tsx index a733823f..4790743b 100644 --- a/src/components/profile/FriendsCount.tsx +++ b/src/components/profile/FriendsCount.tsx @@ -1,11 +1,11 @@ +import {useNavigation} from '@react-navigation/native'; import React from 'react'; -import {View, Text, StyleSheet, ViewProps} from 'react-native'; +import {StyleSheet, Text, View, ViewProps} from 'react-native'; import {TouchableOpacity} from 'react-native-gesture-handler'; -import {useNavigation} from '@react-navigation/native'; -import {RootState} from '../../store/rootReducer'; import {useSelector, useStore} from 'react-redux'; +import {RootState} from '../../store/rootReducer'; import {ScreenType} from '../../types'; -import {canViewProfile, canViewProfileFoo, normalize} from '../../utils'; +import {canViewProfile, normalize} from '../../utils'; interface FriendsCountProps extends ViewProps { userXId: string | undefined; diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index f38945f7..297f76c0 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -4,10 +4,12 @@ import {StyleSheet, Text, View} from 'react-native'; import {Image} from 'react-native-animatable'; import {TouchableOpacity} from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; +import {useStore} from 'react-redux'; import RequestedButton from '../../assets/ionicons/requested-button.svg'; import {TaggsBar} from '../../components'; import {BadgesDropdown, MutualFriends} from '../../components/suggestedPeople'; import {BADGE_DATA} from '../../constants/badges'; +import {RootState} from '../../store/rootReducer'; import { ProfilePreviewType, ScreenType, @@ -39,7 +41,6 @@ const SPBody: React.FC = ({ suggested_people_url, friendship, badges, - is_private, }, itemIndex, onAddFriend, @@ -55,6 +56,7 @@ const SPBody: React.FC = ({ }[] >([]); const navigation = useNavigation(); + const state: RootState = useStore().getState(); useEffect(() => { const newBadges: {badge: UniversityBadge; img: any}[] = []; const findBadgeIcons = (badge: UniversityBadge) => { @@ -165,9 +167,9 @@ const SPBody: React.FC = ({ whiteRing={true} linkedSocials={social_links} allowNavigation={canViewProfile( - loggedInUserId === user.id, - is_private, - friendship.status === 'friends', + state, + loggedInUserId === user.id ? undefined : user.id, + screenType, )} /> -- cgit v1.2.3-70-g09d2 From 641a98cd5d184efb5639952812f24c56c90e7f62 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Mon, 29 Mar 2021 14:18:00 -0400 Subject: code cleanup --- src/components/profile/Content.tsx | 1 - src/components/taggs/TaggsBar.tsx | 18 +++++++++--------- src/screens/suggestedPeople/SPBody.tsx | 5 ----- 3 files changed, 9 insertions(+), 15 deletions(-) (limited to 'src/screens') diff --git a/src/components/profile/Content.tsx b/src/components/profile/Content.tsx index 779e0525..cf2b7d28 100644 --- a/src/components/profile/Content.tsx +++ b/src/components/profile/Content.tsx @@ -165,7 +165,6 @@ const Content: React.FC = ({y, userXId, screenType}) => { diff --git a/src/components/taggs/TaggsBar.tsx b/src/components/taggs/TaggsBar.tsx index a9c428b2..567b58de 100644 --- a/src/components/taggs/TaggsBar.tsx +++ b/src/components/taggs/TaggsBar.tsx @@ -2,7 +2,7 @@ import React, {Fragment, useEffect, useState} from 'react'; import {StyleSheet} from 'react-native'; import Animated from 'react-native-reanimated'; import {useSafeAreaInsets} from 'react-native-safe-area-context'; -import {useDispatch, useSelector} from 'react-redux'; +import {useDispatch, useSelector, useStore} from 'react-redux'; import { INTEGRATED_SOCIAL_LIST, PROFILE_CUTOUT_BOTTOM_Y, @@ -12,6 +12,7 @@ import {getLinkedSocials} from '../../services'; import {loadIndividualSocial, updateSocial} from '../../store/actions'; import {RootState} from '../../store/rootReducer'; import {ScreenType} from '../../types'; +import {canViewProfile} from '../../utils'; import Tagg from './Tagg'; const {View, ScrollView, interpolate, Extrapolate} = Animated; @@ -22,7 +23,6 @@ interface TaggsBarProps { screenType: ScreenType; whiteRing: boolean | undefined; linkedSocials?: string[]; - allowNavigation?: boolean; } const TaggsBar: React.FC = ({ y, @@ -31,14 +31,14 @@ const TaggsBar: React.FC = ({ screenType, whiteRing, linkedSocials, - allowNavigation = true, }) => { let [taggs, setTaggs] = useState([]); let [taggsNeedUpdate, setTaggsNeedUpdate] = useState(true); - - const {user} = userXId - ? useSelector((state: RootState) => state.userX[screenType][userXId]) - : useSelector((state: RootState) => state.user); + const {user} = useSelector((state: RootState) => + userXId ? state.userX[screenType][userXId] : state.user, + ); + const state: RootState = useStore().getState(); + const allowTaggsNavigation = canViewProfile(state, userXId, screenType); const dispatch = useDispatch(); @@ -81,7 +81,7 @@ const TaggsBar: React.FC = ({ setTaggsNeedUpdate={setTaggsNeedUpdate} setSocialDataNeedUpdate={handleSocialUpdate} whiteRing={whiteRing ? whiteRing : undefined} - allowNavigation={allowNavigation} + allowNavigation={allowTaggsNavigation} />, ); i++; @@ -99,7 +99,7 @@ const TaggsBar: React.FC = ({ userXId={userXId} user={user} whiteRing={whiteRing ? whiteRing : undefined} - allowNavigation={allowNavigation} + allowNavigation={allowTaggsNavigation} />, ); i++; diff --git a/src/screens/suggestedPeople/SPBody.tsx b/src/screens/suggestedPeople/SPBody.tsx index 297f76c0..824f8b1c 100644 --- a/src/screens/suggestedPeople/SPBody.tsx +++ b/src/screens/suggestedPeople/SPBody.tsx @@ -166,11 +166,6 @@ const SPBody: React.FC = ({ screenType={screenType} whiteRing={true} linkedSocials={social_links} - allowNavigation={canViewProfile( - state, - loggedInUserId === user.id ? undefined : user.id, - screenType, - )} /> -- cgit v1.2.3-70-g09d2