45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { BricolageGrotesque_800ExtraBold } from '@expo-google-fonts/bricolage-grotesque';
|
|
import { Fraunces_800ExtraBold } from '@expo-google-fonts/fraunces';
|
|
import {
|
|
NunitoSans_400Regular,
|
|
NunitoSans_600SemiBold,
|
|
NunitoSans_700Bold,
|
|
NunitoSans_800ExtraBold,
|
|
} from '@expo-google-fonts/nunito-sans';
|
|
import { useFonts } from 'expo-font';
|
|
import { Stack } from 'expo-router';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import { ActivityIndicator, View } from 'react-native';
|
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
import { colors } from '../src/theme';
|
|
|
|
export default function RootLayout() {
|
|
const [fontsLoaded] = useFonts({
|
|
BricolageGrotesque_800ExtraBold,
|
|
Fraunces_800ExtraBold,
|
|
NunitoSans_400Regular,
|
|
NunitoSans_600SemiBold,
|
|
NunitoSans_700Bold,
|
|
NunitoSans_800ExtraBold,
|
|
});
|
|
|
|
if (!fontsLoaded) {
|
|
return (
|
|
<View style={{ flex: 1, backgroundColor: colors.canvas, justifyContent: 'center' }}>
|
|
<ActivityIndicator color={colors.blue} />
|
|
</View>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<SafeAreaProvider>
|
|
<StatusBar style="auto" />
|
|
<Stack screenOptions={{ headerShown: false, contentStyle: { backgroundColor: colors.canvas } }}>
|
|
<Stack.Screen name="onboarding" />
|
|
<Stack.Screen name="(tabs)" />
|
|
<Stack.Screen name="scan" options={{ presentation: 'fullScreenModal', animation: 'fade' }} />
|
|
</Stack>
|
|
</SafeAreaProvider>
|
|
);
|
|
}
|