diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-26 19:16:55 -0400 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-05-26 19:16:55 -0400 |
commit | 0c512ea9bc2ad75b1ae356fa7166044510750581 (patch) | |
tree | a6d4b6cdd7824def711b05f112b0939edafbe766 /src | |
parent | e2a17e5ec691252164cdd11fb2e769aa8b83addc (diff) |
Fix issue for TaggFooter, Delete works
Diffstat (limited to 'src')
-rw-r--r-- | src/components/moments/TagFriendsFoooter.tsx | 30 | ||||
-rw-r--r-- | src/routes/main/MainStackNavigator.tsx | 2 | ||||
-rw-r--r-- | src/screens/moments/TagFriendsScreen.tsx | 7 | ||||
-rw-r--r-- | src/screens/moments/TagSelectionScreen.tsx | 2 |
4 files changed, 17 insertions, 24 deletions
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<SetStateAction<ProfilePreviewType[]>>; + tags: MomentTagType[]; + setTags: (tags: MomentTagType[]) => void; } -const TagFriendsFooter: React.FC<TagFriendsFooterProps> = ({ - taggedUsers, - setTaggedUsers, -}) => { +const TagFriendsFooter: React.FC<TagFriendsFooterProps> = ({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<TagFriendsFooterProps> = ({ () => ( <TouchableOpacity style={styles.tagFriendsTitleContainer} - disabled={taggedUsers.length !== 0} + disabled={tags.length !== 0} onPress={() => navigation.navigate('TagSelectionScreen', { - selectedUsers: taggedUsers, + selectedTags: tags, }) }> <Image @@ -88,7 +84,7 @@ const TagFriendsFooter: React.FC<TagFriendsFooterProps> = ({ <Text style={styles.tagFriendsTitle}>Tag Friends</Text> </TouchableOpacity> ), - [taggedUsers.length], + [tags.length], ); return ( @@ -96,10 +92,10 @@ const TagFriendsFooter: React.FC<TagFriendsFooterProps> = ({ {tagFriendsTitle} <View style={styles.tagFriendsContainer}> <ScrollView horizontal> - {taggedUsers.map((user) => ( - <TaggedUser key={user.id} {...user} /> + {tags.map((tag) => ( + <TaggedUser key={tag.user.id} {...tag.user} /> ))} - {taggedUsers.length !== 0 && taggMoreButton} + {tags.length !== 0 && taggMoreButton} </ScrollView> </View> </> 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<TagFriendsScreenProps> = ({route}) => { /> )} <View style={styles.footerContainer}> - <TagFriendsFooter - taggedUsers={tags.map((tag) => tag.user)} - setTaggedUsers={(users) => null} - /> - {/* <TagFriendsFooter tags={tags} setTags={setTags} /> */} + <TagFriendsFooter tags={tags} setTags={setTags} /> </View> </View> </KeyboardAvoidingView> 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<TagSelectionScreenProps> = ({route}) => { const navigation = useNavigation(); const [users, setUsers] = useState<ProfilePreviewType[]>([]); const [selectedUsers, setSelectedUsers] = useState<ProfilePreviewType[]>( - route.params.selectedUsers, + route.params.selectedTags.map((tag) => tag.user), ); const [searching, setSearching] = useState(false); const [query, setQuery] = useState<string>(''); |