aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHusam Salhab <47015061+hsalhab@users.noreply.github.com>2021-06-09 16:43:02 -0400
committerGitHub <noreply@github.com>2021-06-09 16:43:02 -0400
commit587d08dc8f0508b6efa76cc7d57f21ac2a5fd9fb (patch)
tree1832c54f0e0eb6d52a36d979038fbbbf48e10c27
parent946b1be53189487e860f37e1b422c69bb44cf0c8 (diff)
[TMA-909] Fix Contact Search (#460)
* shows proper results and handles null lists * remove unnecessary existing users code * fix height and remove console log * lint
-rw-r--r--src/screens/profile/EditProfile.tsx2
-rw-r--r--src/screens/profile/InviteFriendsScreen.tsx56
2 files changed, 29 insertions, 29 deletions
diff --git a/src/screens/profile/EditProfile.tsx b/src/screens/profile/EditProfile.tsx
index 765bbf01..20a62b19 100644
--- a/src/screens/profile/EditProfile.tsx
+++ b/src/screens/profile/EditProfile.tsx
@@ -305,7 +305,7 @@ const EditProfile: React.FC<EditProfileProps> = ({route, navigation}) => {
type: 'image/jpg',
});
}
-
+
if (form.isValidWebsite) {
request.append('website', form.website);
} else {
diff --git a/src/screens/profile/InviteFriendsScreen.tsx b/src/screens/profile/InviteFriendsScreen.tsx
index 89f2e62f..9ee6fb1c 100644
--- a/src/screens/profile/InviteFriendsScreen.tsx
+++ b/src/screens/profile/InviteFriendsScreen.tsx
@@ -21,7 +21,6 @@ import {
getRemainingInviteCount,
usersFromContactsService,
} from '../../services/UserFriendsService';
-import {ProfilePreviewType} from '../../types';
import {
extractContacts,
HeaderHeight,
@@ -45,11 +44,10 @@ export type SearchResultType = {
const InviteFriendsScreen: React.FC = () => {
const navigation = useNavigation();
- const [usersFromContacts, setUsersFromContacts] = useState<
- ProfilePreviewType[]
+ const [nonUsersFromContacts, setNonUsersFromContacts] = useState<
+ InviteContactType[]
>([]);
- const [nonUsersFromContacts, setNonUsersFromContacts] = useState<[]>([]);
- const [pendingUsers] = useState<[]>([]);
+ const [pendingUsers, setPendingUsers] = useState<InviteContactType[]>([]);
const [results, setResults] = useState<SearchResultType>({
nonUsersFromContacts: nonUsersFromContacts,
pendingUsers: pendingUsers,
@@ -80,8 +78,8 @@ const InviteFriendsScreen: React.FC = () => {
const permission = await checkPermission();
if (permission === 'authorized') {
let response = await usersFromContactsService(retrievedContacts);
- await setUsersFromContacts(response.existing_tagg_users);
await setNonUsersFromContacts(response.invite_from_contacts);
+ await setPendingUsers(response.pending_users);
setResults({
nonUsersFromContacts: response.invite_from_contacts,
pendingUsers: response.pending_users,
@@ -100,30 +98,32 @@ const InviteFriendsScreen: React.FC = () => {
useEffect(() => {
const search = async () => {
if (query.length > 0) {
- const searchResultsUsers = usersFromContacts.filter(
- (item: ProfilePreviewType) =>
- (item.first_name + ' ' + item.last_name)
- .toLowerCase()
- .startsWith(query) ||
- item.username.toLowerCase().startsWith(query) ||
- item.last_name.toLowerCase().startsWith(query),
- );
- const searchResultsNonUsers = nonUsersFromContacts.filter(
- (item: InviteContactType) =>
- (item.firstName + ' ' + item.lastName)
- .toLowerCase()
- .startsWith(query) ||
- item.lastName.toLowerCase().startsWith(query),
- );
- const sanitizedResult = {
- usersFromContacts: searchResultsUsers,
+ const searchResultsPendingUsers = pendingUsers
+ ? pendingUsers.filter(
+ (item: InviteContactType) =>
+ (item.firstName + ' ' + item.lastName)
+ .toLowerCase()
+ .startsWith(query) ||
+ item.lastName.toLowerCase().startsWith(query),
+ )
+ : [];
+ const searchResultsNonUsers = nonUsersFromContacts
+ ? nonUsersFromContacts.filter(
+ (item: InviteContactType) =>
+ (item.firstName + ' ' + item.lastName)
+ .toLowerCase()
+ .startsWith(query) ||
+ item.lastName.toLowerCase().startsWith(query),
+ )
+ : [];
+ setResults({
nonUsersFromContacts: searchResultsNonUsers,
- };
- setResults(sanitizedResult);
+ pendingUsers: searchResultsPendingUsers,
+ });
} else {
setResults({
- nonUsersFromContacts: nonUsersFromContacts,
- pendingUsers: pendingUsers,
+ nonUsersFromContacts: nonUsersFromContacts || [],
+ pendingUsers: pendingUsers || [],
});
}
};
@@ -203,7 +203,7 @@ const InviteFriendsScreen: React.FC = () => {
styles.subheader,
{
height:
- 72 *
+ 75 *
(results.pendingUsers ? results.pendingUsers.length : 1),
},
]}>