diff options
author | Ivan Chen <ivan@tagg.id> | 2021-04-21 15:23:09 -0400 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-04-22 17:08:57 -0400 |
commit | a74bc24d29366917c33aea240a9a71e595d8c55f (patch) | |
tree | 05c249ed45bb92c26b80e9ae91cd97894c58c554 | |
parent | e8913cc0bdc432c20a008e852482c82c3bb3c2a0 (diff) |
fixed
-rw-r--r-- | src/routes/main/MainStackScreen.tsx | 47 | ||||
-rw-r--r-- | src/screens/suggestedPeople/SuggestedPeopleScreen.tsx | 9 |
2 files changed, 21 insertions, 35 deletions
diff --git a/src/routes/main/MainStackScreen.tsx b/src/routes/main/MainStackScreen.tsx index 37867151..f5100e58 100644 --- a/src/routes/main/MainStackScreen.tsx +++ b/src/routes/main/MainStackScreen.tsx @@ -1,7 +1,6 @@ -import AsyncStorage from '@react-native-community/async-storage'; import {RouteProp} from '@react-navigation/native'; import {StackNavigationOptions} from '@react-navigation/stack'; -import React, {useEffect, useState} from 'react'; +import React from 'react'; import {StyleSheet, Text} from 'react-native'; import {normalize} from 'react-native-elements'; import BackIcon from '../../assets/icons/back-arrow.svg'; @@ -56,28 +55,9 @@ interface MainStackProps { const MainStackScreen: React.FC<MainStackProps> = ({route}) => { const {screenType} = route.params; - // const isProfileTab = screenType === ScreenType.Profile; const isSearchTab = screenType === ScreenType.Search; const isNotificationsTab = screenType === ScreenType.Notifications; const isSuggestedPeopleTab = screenType === ScreenType.SuggestedPeople; - const [respondedToAccessContacts, setRespondedToAccessContacts] = useState( - 'true', - ); - - useEffect(() => { - loadResponseToAccessContacts(); - }, []); - - const loadResponseToAccessContacts = () => { - AsyncStorage.getItem('respondedToAccessContacts') - .then((value) => { - setRespondedToAccessContacts(value ? value : 'false'); - }) - .catch((error) => { - console.log('Something went wrong', error); - setRespondedToAccessContacts('true'); - }); - }; const initialRouteName = (() => { switch (screenType) { @@ -131,20 +111,13 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => { ...headerBarOptions('white', ''), }} /> - {isSuggestedPeopleTab && - (respondedToAccessContacts && respondedToAccessContacts === 'true' ? ( - <MainStack.Screen - name="SuggestedPeople" - component={SuggestedPeopleScreen} - initialParams={{screenType}} - /> - ) : ( - <MainStack.Screen - name="SuggestedPeople" - component={RequestContactsAccess} - initialParams={{screenType}} - /> - ))} + {isSuggestedPeopleTab && ( + <MainStack.Screen + name="SuggestedPeople" + component={SuggestedPeopleScreen} + initialParams={{screenType}} + /> + )} {isNotificationsTab && ( <MainStack.Screen name="Notifications" @@ -271,6 +244,10 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => { name="RequestContactsAccess" component={RequestContactsAccess} initialParams={{screenType}} + options={{ + ...modalStyle, + gestureEnabled: false, + }} /> <MainStack.Screen name="EditProfile" diff --git a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx index 388a1ba7..f1981111 100644 --- a/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx +++ b/src/screens/suggestedPeople/SuggestedPeopleScreen.tsx @@ -1,3 +1,4 @@ +import AsyncStorage from '@react-native-community/async-storage'; import {useFocusEffect, useNavigation} from '@react-navigation/native'; import React, {useCallback, useEffect, useRef, useState} from 'react'; import {FlatList, RefreshControl, StatusBar, ViewToken} from 'react-native'; @@ -57,6 +58,14 @@ const SuggestedPeopleScreen: React.FC = () => { const stausBarRef = useRef(hideStatusBar); + useEffect(() => { + AsyncStorage.getItem('respondedToAccessContacts').then((value) => { + if (value === null) { + navigation.navigate('RequestContactsAccess'); + } + }); + }, []); + // loads data and append it to users based on current page useEffect(() => { loadMore(); |