Refactor to store

This commit is contained in:
Maarten 2024-08-08 14:05:17 +02:00
parent e3a2251898
commit b619fe34f8
9 changed files with 177 additions and 70 deletions

View file

@ -1,17 +1,18 @@
import { useFonts } from 'expo-font';
import { Slot, Stack } from 'expo-router';
import * as SplashScreen from 'expo-splash-screen';
import { Slot, SplashScreen, Stack } from 'expo-router';
import { Provider } from 'react-redux';
import { useEffect } from 'react';
import 'react-native-reanimated';
import { AppProvider } from '@/context/AppProvider';
import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
import Toast from 'react-native-toast-message';
import { AutocompleteDropdownContextProvider } from 'react-native-autocomplete-dropdown';
import { AppProvider } from '@/context/AppProvider';
import { useColorScheme } from '@/hooks/useColorScheme';
import { store } from '@/store/store';
// Prevent the splash screen from auto-hiding before asset loading is complete.
// SplashScreen.preventAutoHideAsync();
SplashScreen.preventAutoHideAsync();
export default function RootLayout() {
const colorScheme = useColorScheme();
@ -22,7 +23,7 @@ export default function RootLayout() {
useEffect( () => {
if (loaded) {
// SplashScreen.hideAsync();
SplashScreen.hideAsync();
}
}, [ loaded ] );
@ -31,17 +32,19 @@ export default function RootLayout() {
}
return (
<AppProvider>
<AutocompleteDropdownContextProvider>
<ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
<Stack>
<Stack.Screen name="(tabs)" options={{ headerShown: false }}/>
<Stack.Screen name="(onboarding)/start" options={{ headerShown: false }}/>
<Stack.Screen name="index" options={{ headerShown: false }}/>
</Stack>
<Toast/>
</ThemeProvider>
</AutocompleteDropdownContextProvider>
</AppProvider>
<Provider store={store}>
<AppProvider>
<AutocompleteDropdownContextProvider>
<ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
<Stack>
<Stack.Screen name="(tabs)" options={{ headerShown: false }}/>
<Stack.Screen name="(onboarding)/start" options={{ headerShown: false }}/>
<Stack.Screen name="index" options={{ headerShown: false }}/>
</Stack>
<Toast/>
</ThemeProvider>
</AutocompleteDropdownContextProvider>
</AppProvider>
</Provider>
);
}