aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/Routes.tsx4
-rw-r--r--src/routes/main/MainStackNavigator.tsx2
-rw-r--r--src/routes/main/MainStackScreen.tsx14
-rw-r--r--src/routes/tabs/NavigationBar.tsx7
4 files changed, 25 insertions, 2 deletions
diff --git a/src/routes/Routes.tsx b/src/routes/Routes.tsx
index c7b9aeee..819ca785 100644
--- a/src/routes/Routes.tsx
+++ b/src/routes/Routes.tsx
@@ -50,7 +50,7 @@ const Routes: React.FC = () => {
fcmService.setUpPushNotifications();
fcmService.sendFcmTokenToServer();
}
- });
+ }, []);
useEffect(() => {
const checkVersion = async () => {
@@ -61,7 +61,7 @@ const Routes: React.FC = () => {
}
};
checkVersion();
- });
+ }, []);
return userId && !newVersionAvailable ? <NavigationBar /> : <Onboarding />;
};
diff --git a/src/routes/main/MainStackNavigator.tsx b/src/routes/main/MainStackNavigator.tsx
index 9b089634..021c0688 100644
--- a/src/routes/main/MainStackNavigator.tsx
+++ b/src/routes/main/MainStackNavigator.tsx
@@ -92,6 +92,8 @@ export type MainStackParams = {
screenType: ScreenType;
};
SPWelcomeScreen: {};
+ ChatList: undefined;
+ Chat: undefined;
};
export const MainStack = createStackNavigator<MainStackParams>();
diff --git a/src/routes/main/MainStackScreen.tsx b/src/routes/main/MainStackScreen.tsx
index d855f0df..8068b893 100644
--- a/src/routes/main/MainStackScreen.tsx
+++ b/src/routes/main/MainStackScreen.tsx
@@ -29,6 +29,8 @@ import {
SuggestedPeopleUploadPictureScreen,
SuggestedPeopleWelcomeScreen,
SettingsScreen,
+ ChatListScreen,
+ ChatScreen,
} from '../../screens';
import MutualBadgeHolders from '../../screens/suggestedPeople/MutualBadgeHolders';
import {ScreenType} from '../../types';
@@ -85,6 +87,8 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => {
return 'Notifications';
case ScreenType.SuggestedPeople:
return 'SuggestedPeople';
+ case ScreenType.Chat:
+ return 'ChatList';
}
})();
@@ -294,6 +298,16 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => {
...headerBarOptions('white', ''),
}}
/>
+ <MainStack.Screen
+ name="ChatList"
+ component={ChatListScreen}
+ options={{headerTitle: 'Chats'}}
+ />
+ <MainStack.Screen
+ name="Chat"
+ component={ChatScreen}
+ options={{headerShown: true}}
+ />
</MainStack.Navigator>
);
};
diff --git a/src/routes/tabs/NavigationBar.tsx b/src/routes/tabs/NavigationBar.tsx
index e9208525..9b8427e7 100644
--- a/src/routes/tabs/NavigationBar.tsx
+++ b/src/routes/tabs/NavigationBar.tsx
@@ -54,6 +54,8 @@ const NavigationBar: React.FC = () => {
disabled={!focused}
/>
);
+ case 'Chat':
+ return <NavigationIcon tab="Chat" disabled={!focused} />;
case 'Profile':
return <NavigationIcon tab="Profile" disabled={!focused} />;
case 'SuggestedPeople':
@@ -93,6 +95,11 @@ const NavigationBar: React.FC = () => {
initialParams={{screenType: ScreenType.Notifications}}
/>
<Tabs.Screen
+ name="Chat"
+ component={MainStackScreen}
+ initialParams={{screenType: ScreenType.Chat}}
+ />
+ <Tabs.Screen
name="Profile"
component={MainStackScreen}
initialParams={{screenType: ScreenType.Profile}}