From 0c512ea9bc2ad75b1ae356fa7166044510750581 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Wed, 26 May 2021 19:16:55 -0400 Subject: Fix issue for TaggFooter, Delete works --- src/components/moments/TagFriendsFoooter.tsx | 30 ++++++++++++---------------- src/routes/main/MainStackNavigator.tsx | 2 +- src/screens/moments/TagFriendsScreen.tsx | 7 ++----- src/screens/moments/TagSelectionScreen.tsx | 2 +- 4 files changed, 17 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/components/moments/TagFriendsFoooter.tsx b/src/components/moments/TagFriendsFoooter.tsx index 16158612..352ee49a 100644 --- a/src/components/moments/TagFriendsFoooter.tsx +++ b/src/components/moments/TagFriendsFoooter.tsx @@ -1,5 +1,5 @@ import {useNavigation} from '@react-navigation/native'; -import React, {Dispatch, SetStateAction, useMemo} from 'react'; +import React, {useMemo} from 'react'; import { Image, ScrollView, @@ -9,27 +9,23 @@ import { View, } from 'react-native'; import {ProfilePreview} from '..'; -import {ProfilePreviewType, ScreenType} from '../../types'; +import {MomentTagType, ProfilePreviewType, ScreenType} from '../../types'; import {normalize, SCREEN_HEIGHT} from '../../utils/layouts'; interface TagFriendsFooterProps { - taggedUsers: ProfilePreviewType[]; - setTaggedUsers: Dispatch>; + tags: MomentTagType[]; + setTags: (tags: MomentTagType[]) => void; } -const TagFriendsFooter: React.FC = ({ - taggedUsers, - setTaggedUsers, -}) => { +const TagFriendsFooter: React.FC = ({tags, setTags}) => { const navigation = useNavigation(); const handleRemoveTag = (user: ProfilePreviewType) => { - const filteredSelection = taggedUsers.filter((item) => user.id !== item.id); - setTaggedUsers(filteredSelection); + setTags(tags.filter((tag) => tag.user.id !== user.id)); }; const goToSelectionScreen = () => { navigation.navigate('TagSelectionScreen', { - selectedUsers: taggedUsers, + selectedTags: tags, }); }; @@ -75,10 +71,10 @@ const TagFriendsFooter: React.FC = ({ () => ( navigation.navigate('TagSelectionScreen', { - selectedUsers: taggedUsers, + selectedTags: tags, }) }> = ({ Tag Friends ), - [taggedUsers.length], + [tags.length], ); return ( @@ -96,10 +92,10 @@ const TagFriendsFooter: React.FC = ({ {tagFriendsTitle} - {taggedUsers.map((user) => ( - + {tags.map((tag) => ( + ))} - {taggedUsers.length !== 0 && taggMoreButton} + {tags.length !== 0 && taggMoreButton} diff --git a/src/routes/main/MainStackNavigator.tsx b/src/routes/main/MainStackNavigator.tsx index 9ca11458..805c8140 100644 --- a/src/routes/main/MainStackNavigator.tsx +++ b/src/routes/main/MainStackNavigator.tsx @@ -49,7 +49,7 @@ export type MainStackParams = { selectedTags?: MomentTagType[]; }; TagSelectionScreen: { - selectedUsers: ProfilePreviewType[]; + selectedTags: MomentTagType[]; }; IndividualMoment: { moment: MomentType; diff --git a/src/screens/moments/TagFriendsScreen.tsx b/src/screens/moments/TagFriendsScreen.tsx index 30a7015f..c7b48f03 100644 --- a/src/screens/moments/TagFriendsScreen.tsx +++ b/src/screens/moments/TagFriendsScreen.tsx @@ -6,6 +6,7 @@ import { Keyboard, KeyboardAvoidingView, Platform, + Settings, StyleSheet, TouchableWithoutFeedback, View, @@ -102,11 +103,7 @@ const TagFriendsScreen: React.FC = ({route}) => { /> )} - tag.user)} - setTaggedUsers={(users) => null} - /> - {/* */} + diff --git a/src/screens/moments/TagSelectionScreen.tsx b/src/screens/moments/TagSelectionScreen.tsx index 6a4006e8..08e17eab 100644 --- a/src/screens/moments/TagSelectionScreen.tsx +++ b/src/screens/moments/TagSelectionScreen.tsx @@ -31,7 +31,7 @@ const TagSelectionScreen: React.FC = ({route}) => { const navigation = useNavigation(); const [users, setUsers] = useState([]); const [selectedUsers, setSelectedUsers] = useState( - route.params.selectedUsers, + route.params.selectedTags.map((tag) => tag.user), ); const [searching, setSearching] = useState(false); const [query, setQuery] = useState(''); -- cgit v1.2.3-70-g09d2