All checks were successful
Build Flutter Web and Docker Image for Local Registry / Build React Native Web App (push) Successful in 10m31s
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import { useFonts } from 'expo-font';
|
|
import { Stack } from 'expo-router';
|
|
import * as SplashScreen from 'expo-splash-screen';
|
|
import { useEffect } from 'react';
|
|
import 'react-native-reanimated';
|
|
import { useColorScheme } from 'react-native';
|
|
import { PaperProvider, Provider } from "react-native-paper";
|
|
import { themes } from '@/app/themes'
|
|
|
|
// Prevent the splash screen from auto-hiding before asset loading is complete.
|
|
SplashScreen.preventAutoHideAsync();
|
|
|
|
export default function RootLayout() {
|
|
const colorScheme = useColorScheme();
|
|
console.log(colorScheme);
|
|
const [loaded] = useFonts({
|
|
SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'),
|
|
});
|
|
|
|
useEffect(() => {
|
|
if (loaded) {
|
|
SplashScreen.hideAsync();
|
|
}
|
|
}, [loaded]);
|
|
|
|
if (!loaded) {
|
|
return null;
|
|
}
|
|
const selectedTheme = 'green';
|
|
//const [selectedTheme, setSelectedTheme] = useState<'red' | 'blue' | 'yellow' | 'green' | 'orange'>('red');
|
|
const appTheme = themes[selectedTheme][colorScheme === 'dark' ? 'dark' : 'light'];
|
|
return (
|
|
<Provider>
|
|
<PaperProvider theme={appTheme} >
|
|
<Stack>
|
|
<Stack.Screen name="index" options={{ headerShown: false }} />
|
|
</Stack>
|
|
</PaperProvider>
|
|
</Provider>
|
|
);
|
|
}
|