aboutsummaryrefslogtreecommitdiff
path: root/src/components/common/TaggUserSelectionCell.tsx
diff options
context:
space:
mode:
authorShravya Ramesh <shravs1208@gmail.com>2021-05-20 10:10:58 -0700
committerShravya Ramesh <shravs1208@gmail.com>2021-05-20 17:58:15 -0700
commit9cd597d1f1eb232540337d5f1e241ba00e6610fa (patch)
treeaf8319aac2f635025ad7c83607e38a35fff4839c /src/components/common/TaggUserSelectionCell.tsx
parent437c4e9d10bd8c62d40140851c7d509dee77a7e2 (diff)
Better generic radio button, Use button in cell
Diffstat (limited to 'src/components/common/TaggUserSelectionCell.tsx')
-rw-r--r--src/components/common/TaggUserSelectionCell.tsx20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/components/common/TaggUserSelectionCell.tsx b/src/components/common/TaggUserSelectionCell.tsx
index 88382119..a8564ddf 100644
--- a/src/components/common/TaggUserSelectionCell.tsx
+++ b/src/components/common/TaggUserSelectionCell.tsx
@@ -1,4 +1,4 @@
-import React, {useState} from 'react';
+import React, {useEffect, useState} from 'react';
import {StyleSheet, View} from 'react-native';
import {ProfilePreview} from '..';
import {ProfilePreviewType, ScreenType} from '../../types';
@@ -17,11 +17,20 @@ const TaggUserSelectionCell: React.FC<TaggUserSelectionCellProps> = ({
}) => {
const [pressed, setPressed] = useState<boolean>(false);
+ useEffect(() => {
+ const updatePressed = () => {
+ const userSelected = selectedUsers.findIndex(
+ (selectedUser) => item.id === selectedUser.id,
+ );
+ setPressed(userSelected !== -1);
+ };
+ updatePressed();
+ });
+
const handlePress = () => {
// Add to selected list pf users
if (pressed === false) {
setSelectedUsers([...selectedUsers, item]);
- setPressed(true);
}
// Remove item from selected list of users
else {
@@ -29,7 +38,6 @@ const TaggUserSelectionCell: React.FC<TaggUserSelectionCellProps> = ({
(user) => user.id !== item.id,
);
setSelectedUsers(filteredSelection);
- setPressed(false);
}
};
return (
@@ -41,11 +49,7 @@ const TaggUserSelectionCell: React.FC<TaggUserSelectionCellProps> = ({
screenType={ScreenType.Profile}
/>
</View>
- <TaggRadioButton
- pressed={pressed}
- setPressed={setPressed}
- onPress={handlePress}
- />
+ <TaggRadioButton pressed={pressed} onPress={handlePress} />
</View>
);
};