aboutsummaryrefslogtreecommitdiff
path: root/src/routes/Routes.tsx
diff options
context:
space:
mode:
authorIvan Chen <ivan@thetaggid.com>2021-02-11 12:23:03 -0500
committerGitHub <noreply@github.com>2021-02-11 12:23:03 -0500
commitd768712304ccdb016f8bef2a122fd25c01710a67 (patch)
treebad1bc9b04b91d4ae983343dad9971ab73d3071a /src/routes/Routes.tsx
parent0e9456692e9d0d0d0e8da483549b386c9af8df55 (diff)
parent952eb1b9b58362cc4ead737554872197ae8a89b1 (diff)
Merge pull request #232 from IvanIFChen/tma639-new-version-available
[TMA-639] New Version Available
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;