-
Notifications
You must be signed in to change notification settings - Fork 2
/
App.tsx
40 lines (32 loc) · 1.26 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
import "react-native-gesture-handler";
import { useEffect, useState } from "react";
import { StatusBar } from "react-native";
import { GestureHandlerRootView } from "react-native-gesture-handler";
import * as SplashScreen from "expo-splash-screen";
import { useFonts } from "expo-font";
import { Roboto_400Regular, Roboto_700Bold } from "@expo-google-fonts/roboto";
import { Baloo2_700Bold } from "@expo-google-fonts/baloo-2";
import { Routes } from "./src/routes";
import { Splash } from "./src/components/Splash";
import { CartContextProvider } from "./src/context/CartContext";
SplashScreen.preventAutoHideAsync();
export default function App() {
const [fontsLoaded] = useFonts({ Roboto_400Regular, Roboto_700Bold, Baloo2_700Bold });
const [splashLoaded, setSplashLoaded] = useState(false);
useEffect(() => {
if (fontsLoaded) {
SplashScreen.hideAsync();
}
}, [fontsLoaded]);
if (!fontsLoaded || !splashLoaded) {
return <Splash onFinished={(isFinished) => setSplashLoaded(isFinished)} />;
}
return (
<GestureHandlerRootView style={{ flex: 1 }}>
<StatusBar barStyle="light-content" backgroundColor="transparent" translucent />
<CartContextProvider>
<Routes />
</CartContextProvider>
</GestureHandlerRootView>
);
}