aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/friends/InviteFriendTile.tsx4
-rw-r--r--src/screens/profile/InviteFriendsScreen.tsx62
-rw-r--r--src/services/UserFriendsService.ts6
3 files changed, 34 insertions, 38 deletions
diff --git a/src/components/friends/InviteFriendTile.tsx b/src/components/friends/InviteFriendTile.tsx
index 9613b1ac..3fbf2e73 100644
--- a/src/components/friends/InviteFriendTile.tsx
+++ b/src/components/friends/InviteFriendTile.tsx
@@ -1,5 +1,6 @@
import React, {useEffect, useState} from 'react';
import {
+ Alert,
StyleSheet,
Text,
TouchableOpacity,
@@ -7,6 +8,7 @@ import {
View,
} from 'react-native';
import {TAGG_LIGHT_BLUE} from '../../constants';
+import {ERROR_SOMETHING_WENT_WRONG} from '../../constants/strings';
import {inviteFriendService} from '../../services';
import {normalize} from '../../utils';
@@ -25,6 +27,8 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({item}) => {
);
if (response) {
setInvited(response);
+ } else {
+ Alert.alert(ERROR_SOMETHING_WENT_WRONG);
}
};
diff --git a/src/screens/profile/InviteFriendsScreen.tsx b/src/screens/profile/InviteFriendsScreen.tsx
index a57b72b6..06e98b90 100644
--- a/src/screens/profile/InviteFriendsScreen.tsx
+++ b/src/screens/profile/InviteFriendsScreen.tsx
@@ -11,6 +11,7 @@ import {
Linking,
StatusBar,
TouchableWithoutFeedback,
+ ScrollView,
} from 'react-native';
import {useDispatch, useStore} from 'react-redux';
import {ProfilePreviewType, ScreenType} from '../../types';
@@ -21,6 +22,7 @@ import {
normalize,
SCREEN_HEIGHT,
SCREEN_WIDTH,
+ StatusBarHeight,
} from '../../utils';
import {checkPermission} from 'react-native-contacts';
import {usersFromContactsService} from '../../services/UserFriendsService';
@@ -79,24 +81,20 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
* Main handler for changes in query.
*/
useEffect(() => {
+ console.log('query is now ', query);
const search = async () => {
if (query.length > 0) {
const searchResultsUsers = usersFromContacts.filter(
- (item: ProfilePreviewType) => {
- if (
- item.first_name.includes(query) ||
- item.last_name.includes(query) ||
- item.username.includes(query)
- ) {
- return item;
- }
- },
+ (item: ProfilePreviewType) =>
+ item.first_name.toLowerCase().includes(query) ||
+ item.last_name.toLowerCase().includes(query) ||
+ item.username.toLowerCase().includes(query),
+ );
+ const searchResultsNonUsers = nonUsersFromContacts.filter(
+ (item) =>
+ item.firstName.toLowerCase().includes(query) ||
+ item.lastName.toLowerCase().includes(query),
);
- const searchResultsNonUsers = nonUsersFromContacts.filter((item) => {
- if (item.firstName.includes(query) || item.lastName.includes(query)) {
- return item;
- }
- });
const sanitizedResult = {
usersFromContacts: searchResultsUsers,
nonUsersFromContacts: searchResultsNonUsers,
@@ -138,7 +136,6 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
const filteredUsers = users.filter(
(user) => user.username !== item.username,
);
- console.log('filteredUsers: ', filteredUsers);
setResults({
...results,
usersFromContacts: filteredUsers,
@@ -155,24 +152,14 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
</>
);
- const NonUsersFromContacts = () => (
- <>
- <FlatList
- contentContainerStyle={styles.nonUsersFlatListContainer}
- showsVerticalScrollIndicator={false}
- data={results.nonUsersFromContacts}
- keyExtractor={(item) => item.phoneNumber}
- renderItem={({item}) => <InviteFriendTile item={item} />}
- />
- </>
- );
-
return (
<View style={styles.mainContainer}>
<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
- <SafeAreaView>
+ <SafeAreaView style={{marginTop: HeaderHeight + StatusBarHeight}}>
<StatusBar barStyle="dark-content" />
- <View style={styles.body}>
+ <ScrollView
+ style={styles.body}
+ contentContainerStyle={{paddingBottom: SCREEN_HEIGHT * 0.1}}>
<View style={styles.headerContainer}>
<Text style={styles.headerText}>
Sharing is caring, invite friends, and create moments together!
@@ -193,7 +180,7 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
autoCapitalize="none"
autoCorrect={false}
onChangeText={(text) => {
- setQuery(text);
+ setQuery(text.toLowerCase());
}}
onBlur={() => {
Keyboard.dismiss();
@@ -212,9 +199,16 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
</View>
<View style={styles.subheader}>
<Text style={styles.subheaderText}>Invite your friends!</Text>
- <NonUsersFromContacts />
+ <FlatList
+ contentContainerStyle={styles.nonUsersFlatListContainer}
+ showsVerticalScrollIndicator={false}
+ scrollEnabled={false}
+ data={results.nonUsersFromContacts}
+ keyExtractor={(item) => item.phoneNumber}
+ renderItem={({item}) => <InviteFriendTile item={item} />}
+ />
</View>
- </View>
+ </ScrollView>
</SafeAreaView>
</TouchableWithoutFeedback>
<TabsGradient />
@@ -225,8 +219,8 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({
const styles = StyleSheet.create({
mainContainer: {backgroundColor: 'white', height: SCREEN_HEIGHT},
body: {
- paddingTop: HeaderHeight * 1.3,
- height: SCREEN_HEIGHT * 0.8,
+ paddingTop: 10,
+ height: SCREEN_HEIGHT,
backgroundColor: '#fff',
},
headerContainer: {
diff --git a/src/services/UserFriendsService.ts b/src/services/UserFriendsService.ts
index c6679bef..cea20fbe 100644
--- a/src/services/UserFriendsService.ts
+++ b/src/services/UserFriendsService.ts
@@ -239,10 +239,8 @@ export const inviteFriendService = async (
invitee_last_name: inviteeLastName,
}),
});
- if (response.status === 201) {
- const response_body = await response.json();
- return response_body;
+ if (response.status === 201 || response.status === 200) {
+ return await response.json();
}
- Alert.alert(ERROR_SOMETHING_WENT_WRONG);
return false;
};