From e3571b2fcb4a78ea11466ff4bfb0405ae4028aea Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Wed, 26 May 2021 19:08:28 -0400 Subject: Finish logic for draggables, Caption screen logic is done --- src/routes/main/MainStackNavigator.tsx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/routes') diff --git a/src/routes/main/MainStackNavigator.tsx b/src/routes/main/MainStackNavigator.tsx index aeead38d..9ca11458 100644 --- a/src/routes/main/MainStackNavigator.tsx +++ b/src/routes/main/MainStackNavigator.tsx @@ -5,6 +5,7 @@ import {createStackNavigator} from '@react-navigation/stack'; import {Image} from 'react-native-image-crop-picker'; import { CommentBaseType, + MomentTagType, MomentType, ProfilePreviewType, ScreenType, @@ -40,7 +41,15 @@ export type MainStackParams = { title: string; image: Image; screenType: ScreenType; - selectedUsers?: ProfilePreviewType[]; + selectedTags?: MomentTagType[]; + }; + TagFriendsScreen: { + image: Image; + screenType: ScreenType; + selectedTags?: MomentTagType[]; + }; + TagSelectionScreen: { + selectedUsers: ProfilePreviewType[]; }; IndividualMoment: { moment: MomentType; @@ -99,14 +108,6 @@ export type MainStackParams = { ChatList: undefined; Chat: undefined; NewChatModal: undefined; - TagSelectionScreen: { - selectedUsers: ProfilePreviewType[]; - }; - TagFriendsScreen: { - image: Image; - screenType: ScreenType; - selectedUsers?: ProfilePreviewType[]; - }; }; export const MainStack = createStackNavigator(); -- cgit v1.2.3-70-g09d2 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/routes') 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 From b87ad0f18d491a27bbb458887abdd2ab09e64d1e Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Wed, 26 May 2021 19:54:52 -0400 Subject: Lint --- src/routes/main/MainStackNavigator.tsx | 1 - src/screens/moments/TagFriendsScreen.tsx | 1 - 2 files changed, 2 deletions(-) (limited to 'src/routes') diff --git a/src/routes/main/MainStackNavigator.tsx b/src/routes/main/MainStackNavigator.tsx index 805c8140..d22c1874 100644 --- a/src/routes/main/MainStackNavigator.tsx +++ b/src/routes/main/MainStackNavigator.tsx @@ -7,7 +7,6 @@ import { CommentBaseType, MomentTagType, MomentType, - ProfilePreviewType, ScreenType, SearchCategoryType, } from '../../types'; diff --git a/src/screens/moments/TagFriendsScreen.tsx b/src/screens/moments/TagFriendsScreen.tsx index c7b48f03..d960f3b9 100644 --- a/src/screens/moments/TagFriendsScreen.tsx +++ b/src/screens/moments/TagFriendsScreen.tsx @@ -6,7 +6,6 @@ import { Keyboard, KeyboardAvoidingView, Platform, - Settings, StyleSheet, TouchableWithoutFeedback, View, -- cgit v1.2.3-70-g09d2