aboutsummaryrefslogtreecommitdiff
path: root/src/routes/Routes.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/Routes.tsx')
-rw-r--r--src/routes/Routes.tsx34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/routes/Routes.tsx b/src/routes/Routes.tsx
index a5383a47..1cbc9bc5 100644
--- a/src/routes/Routes.tsx
+++ b/src/routes/Routes.tsx
@@ -1,18 +1,23 @@
-import React, {useEffect} from 'react';
-import NavigationBar from './tabs';
-import Onboarding from './onboarding';
-import {useSelector, useDispatch} from 'react-redux';
+import messaging from '@react-native-firebase/messaging';
+import React, {useEffect, useState} from 'react';
+import DeviceInfo from 'react-native-device-info';
+import SplashScreen from 'react-native-splash-screen';
+import {useDispatch, useSelector} from 'react-redux';
+import {fcmService, getLiveVersion} from '../services';
+import {
+ updateNewNotificationReceived,
+ updateNewVersionAvailable,
+} from '../store/actions';
import {RootState} from '../store/rootReducer';
import {userLogin} from '../utils';
-import SplashScreen from 'react-native-splash-screen';
-import messaging from '@react-native-firebase/messaging';
-import {updateNewNotificationReceived} from '../store/actions';
-import {fcmService} from '../services';
+import Onboarding from './onboarding';
+import NavigationBar from './tabs';
const Routes: React.FC = () => {
const {
user: {userId},
} = useSelector((state: RootState) => state.user);
+ const [newVersionAvailable, setNewVersionAvailable] = useState(false);
const dispatch = useDispatch();
/**
@@ -47,7 +52,18 @@ const Routes: React.FC = () => {
}
});
- return userId ? <NavigationBar /> : <Onboarding />;
+ useEffect(() => {
+ const checkVersion = async () => {
+ const liveVersion = await getLiveVersion();
+ if (liveVersion && liveVersion !== DeviceInfo.getVersion()) {
+ setNewVersionAvailable(true);
+ dispatch(updateNewVersionAvailable(true));
+ }
+ };
+ checkVersion();
+ });
+
+ return userId && !newVersionAvailable ? <NavigationBar /> : <Onboarding />;
};
export default Routes;