diff options
| author | Shravya Ramesh <shravs1208@gmail.com> | 2021-05-21 13:54:06 -0700 |
|---|---|---|
| committer | Shravya Ramesh <shravs1208@gmail.com> | 2021-05-21 13:54:06 -0700 |
| commit | a8b8f7beb49ecd1479fd8e7732a8081338122445 (patch) | |
| tree | 99a95644c018527c8149f43e46a6b7254edf27d9 /src/screens/profile/InviteFriendsScreen.tsx | |
| parent | 89625b0b04c6bb09bee571cf4df29ebe58cdaee9 (diff) | |
| parent | 87333873c8e47bccd99198a974a40df57619df22 (diff) | |
Merge branch 'master' into tma853-tag-selection-screen
Diffstat (limited to 'src/screens/profile/InviteFriendsScreen.tsx')
| -rw-r--r-- | src/screens/profile/InviteFriendsScreen.tsx | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/src/screens/profile/InviteFriendsScreen.tsx b/src/screens/profile/InviteFriendsScreen.tsx index d6effe02..89f2e62f 100644 --- a/src/screens/profile/InviteFriendsScreen.tsx +++ b/src/screens/profile/InviteFriendsScreen.tsx @@ -1,4 +1,4 @@ -import {RouteProp} from '@react-navigation/native'; +import {useNavigation} from '@react-navigation/native'; import React, {useEffect, useMemo, useState} from 'react'; import { FlatList, @@ -16,8 +16,11 @@ import {checkPermission} from 'react-native-contacts'; import {TAGG_LIGHT_BLUE} from '../../constants'; import {SearchBar, TabsGradient} from '../../components'; import {InviteFriendTile} from '../../components/friends'; -import {MainStackParams} from '../../routes'; -import {usersFromContactsService} from '../../services/UserFriendsService'; +import {headerBarOptions} from '../../routes'; +import { + getRemainingInviteCount, + usersFromContactsService, +} from '../../services/UserFriendsService'; import {ProfilePreviewType} from '../../types'; import { extractContacts, @@ -40,16 +43,8 @@ export type SearchResultType = { pendingUsers: InviteContactType[]; }; -type InviteFriendsScreenRouteProp = RouteProp< - MainStackParams, - 'InviteFriendsScreen' ->; - -interface InviteFriendsScreenProps { - route: InviteFriendsScreenRouteProp; -} - -const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({}) => { +const InviteFriendsScreen: React.FC = () => { + const navigation = useNavigation(); const [usersFromContacts, setUsersFromContacts] = useState< ProfilePreviewType[] >([]); @@ -60,6 +55,24 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({}) => { pendingUsers: pendingUsers, }); const [query, setQuery] = useState(''); + const [invitesLeft, setInvitesLeft] = useState(0); + + useEffect(() => { + // Get number of invites from the backend and set the state + const getInitialInvitesCount = async () => { + const intialInvites = await getRemainingInviteCount(); + setInvitesLeft(intialInvites); + }; + getInitialInvitesCount(); + }, []); + + useEffect( + () => + navigation.setOptions({ + ...headerBarOptions('black', `You have ${invitesLeft} Invites`), + }), + [invitesLeft], + ); useEffect(() => { const handleFindFriends = () => { @@ -129,6 +142,8 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({}) => { <InviteFriendTile item={item} remind={true} + invitesLeft={invitesLeft} + setInvitesLeft={setInvitesLeft} results={results} setResults={setResults} /> @@ -150,6 +165,8 @@ const InviteFriendsScreen: React.FC<InviteFriendsScreenProps> = ({}) => { <InviteFriendTile item={item} remind={false} + invitesLeft={invitesLeft} + setInvitesLeft={setInvitesLeft} results={results} setResults={setResults} /> |
