diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-20 22:40:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-20 22:40:39 -0400 |
commit | 837783915ed6156a3d6d130d5c44cf810e501994 (patch) | |
tree | 4c01a2eb1a25e2d3105cdc4a0d2d795b0356a3e8 /src/components/friends/InviteFriendTile.tsx | |
parent | 8641391ac28e5a1b2ca513755a44b71ef3ee64e9 (diff) | |
parent | ccb37b8a49cb0a1b50ab3731a59c8c09b8aca62b (diff) |
Merge pull request #435 from shravyaramesh/tma843-fix-invite-system
[TMA-843] Added invites to header, organized imports
Diffstat (limited to 'src/components/friends/InviteFriendTile.tsx')
-rw-r--r-- | src/components/friends/InviteFriendTile.tsx | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/components/friends/InviteFriendTile.tsx b/src/components/friends/InviteFriendTile.tsx index 48f65a94..f990df6a 100644 --- a/src/components/friends/InviteFriendTile.tsx +++ b/src/components/friends/InviteFriendTile.tsx @@ -9,11 +9,10 @@ import { View, } from 'react-native'; import {useSelector} from 'react-redux'; -import {RootState} from 'src/store/rootReducer'; import {TAGG_LIGHT_BLUE} from '../../constants'; import { + ERROR_FAILED_TO_INVITE_CONTACT, ERROR_NO_CONTACT_INVITE_LEFT, - ERROR_SOMETHING_WENT_WRONG, INVITE_USER_SMS_BODY, SUCCESS_CONFIRM_INVITE_CONTACT_MESSAGE, SUCCESS_CONFIRM_INVITE_CONTACT_TITLE, @@ -23,7 +22,8 @@ import { InviteContactType, SearchResultType, } from '../../screens/profile/InviteFriendsScreen'; -import {getRemainingInviteCount, inviteFriendService} from '../../services'; +import {inviteFriendService} from '../../services'; +import {RootState} from '../../store/rootReducer'; import {normalize} from '../../utils'; interface InviteFriendTileProps { @@ -31,10 +31,14 @@ interface InviteFriendTileProps { remind: boolean; results: SearchResultType; setResults: Function; + invitesLeft: number; + setInvitesLeft: (updateInvites: number) => void; } const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ item, + invitesLeft, + setInvitesLeft, remind, results, setResults, @@ -42,7 +46,6 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ const [invited, setInvited] = useState<boolean>(remind); const {name} = useSelector((state: RootState) => state.user.profile); const [formatedPhoneNumber, setFormattedPhoneNumber] = useState<string>(''); - const handleInviteFriend = async () => { // If user has been invited already, don't show alerts and change invite count if (invited) { @@ -54,6 +57,7 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ ); const inviteCode = response?.invite_code; if (inviteCode) { + // Open iMessage Linking.openURL( `sms:${item.phoneNumber}&body=${INVITE_USER_SMS_BODY( item.firstName, @@ -63,12 +67,11 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ ); } } else { - const invites_left = await getRemainingInviteCount(); - if (invites_left < 1) { + if (invitesLeft < 1) { Alert.alert(ERROR_NO_CONTACT_INVITE_LEFT); } Alert.alert( - SUCCESS_CONFIRM_INVITE_CONTACT_TITLE(invites_left), + SUCCESS_CONFIRM_INVITE_CONTACT_TITLE(String(invitesLeft)), SUCCESS_CONFIRM_INVITE_CONTACT_MESSAGE, [ {text: 'No!', style: 'cancel'}, @@ -83,7 +86,8 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ ); const inviteCode = response?.invite_code; if (!inviteCode) { - Alert.alert(ERROR_SOMETHING_WENT_WRONG); + setInvited(false); + Alert.alert(ERROR_FAILED_TO_INVITE_CONTACT); } // Add user to Pending Users list const newPendingUser: InviteContactType = { @@ -110,6 +114,7 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ // Update results after navigating out of the app setTimeout(() => { setInvited(true); + setInvitesLeft(invitesLeft - 1); setResults({ ...results, pendingUsers: [...results.pendingUsers, newPendingUser], @@ -117,7 +122,7 @@ const InviteFriendTile: React.FC<InviteFriendTileProps> = ({ }); }, 500); - if (invites_left === 1) { + if (invitesLeft === 1) { Alert.alert(SUCCESS_LAST_CONTACT_INVITE); } }, |