diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/common/BadgeDetailView.tsx | 18 | ||||
-rw-r--r-- | src/components/profile/ProfileHeader.tsx | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/components/common/BadgeDetailView.tsx b/src/components/common/BadgeDetailView.tsx index 13613287..9dd64bfa 100644 --- a/src/components/common/BadgeDetailView.tsx +++ b/src/components/common/BadgeDetailView.tsx @@ -17,23 +17,27 @@ import {BADGE_GRADIENT_FIRST} from '../../constants'; import {BADGE_DATA} from '../../constants/badges'; import {getSuggestedPeopleProfile, removeBadgesService} from '../../services'; import {RootState} from '../../store/rootreducer'; -import {UniversityBadge, UniversityType} from '../../types'; +import {ScreenType, UniversityBadge, UniversityType} from '../../types'; import {getUniversityBadge, normalize} from '../../utils'; interface BadgeDetailModalProps { + userXId: string | undefined; + screenType: ScreenType; isEditable: boolean; setBadgeViewVisible: Function; userFullName?: string; } const BadgeDetailView: React.FC<BadgeDetailModalProps> = ({ + userXId, + screenType, userFullName, isEditable = true, setBadgeViewVisible, }) => { - const { - user: {userId = ''}, - } = useSelector((state: RootState) => state.user); + const {user} = useSelector((state: RootState) => + userXId ? state.userX[screenType][userXId] : state.user, + ); const navigation = useNavigation(); const [selectedBadges, setSelectedBadges] = useState<UniversityBadge[]>([]); const [isLoading, setIsLoading] = useState(true); @@ -42,8 +46,8 @@ const BadgeDetailView: React.FC<BadgeDetailModalProps> = ({ ); const fetchBadges = async () => { - if (userId) { - const response = await getSuggestedPeopleProfile(userId); + if (user.userId) { + const response = await getSuggestedPeopleProfile(user.userId); if (response) { const data = response.badges; let extractedBadgeNames: UniversityBadge[] = []; @@ -83,7 +87,7 @@ const BadgeDetailView: React.FC<BadgeDetailModalProps> = ({ const removeBadgeCell = async (badge: string) => { setIsLoading(true); - await removeBadgesService([badge], userId); + await removeBadgesService([badge], user.userId); fetchBadges(); }; diff --git a/src/components/profile/ProfileHeader.tsx b/src/components/profile/ProfileHeader.tsx index e4f864f2..35ec0ea9 100644 --- a/src/components/profile/ProfileHeader.tsx +++ b/src/components/profile/ProfileHeader.tsx @@ -146,6 +146,8 @@ const ProfileHeader: React.FC<ProfileHeaderProps> = ({ </TouchableOpacity> {showBadgeView && ( <BadgeDetailView + userXId={userXId} + screenType={screenType} isEditable={userXName === username} userFullName={name} setBadgeViewVisible={setBadgeViewVisible} |