aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-05-26 19:16:55 -0400
committerIvan Chen <ivan@tagg.id>2021-05-26 19:16:55 -0400
commit0c512ea9bc2ad75b1ae356fa7166044510750581 (patch)
treea6d4b6cdd7824def711b05f112b0939edafbe766
parente2a17e5ec691252164cdd11fb2e769aa8b83addc (diff)
Fix issue for TaggFooter, Delete works
-rw-r--r--src/components/moments/TagFriendsFoooter.tsx30
-rw-r--r--src/routes/main/MainStackNavigator.tsx2
-rw-r--r--src/screens/moments/TagFriendsScreen.tsx7
-rw-r--r--src/screens/moments/TagSelectionScreen.tsx2
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>('');