forked from benawad/dogehouse
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathApp.tsx
42 lines (38 loc) · 1.12 KB
/
App.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow strict-local
*/
import "react-native-gesture-handler";
import React, { useEffect } from "react";
import { StatusBar } from "react-native";
import SplashScreen from "react-native-splash-screen";
import { useTokenStore } from "./src/module/auth/useTokenStore";
import { NavigationContainer } from "@react-navigation/native";
import { RootNavigator } from "./src/navigators/RootNavigator";
import { SafeAreaProvider } from "react-native-safe-area-context";
const App: React.FC = () => {
const loadTokens = useTokenStore((state) => state.loadTokens);
const isTokenStoreReady = useTokenStore(
(s) => s.accessToken !== undefined && s.refreshToken !== undefined
);
if (!isTokenStoreReady) {
loadTokens();
}
useEffect(() => {
if (isTokenStoreReady) {
SplashScreen.hide();
}
}, [isTokenStoreReady]);
return (
<SafeAreaProvider>
<NavigationContainer>
<StatusBar barStyle="light-content" />
<RootNavigator />
</NavigationContainer>
</SafeAreaProvider>
);
};
export default App;