Add Realm base
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
52
src/app.tsx
52
src/app.tsx
@@ -1,43 +1,49 @@
|
||||
import React from 'react';
|
||||
import { Appearance, StatusBar } from 'react-native';
|
||||
|
||||
import { NavigationContainer } from '@react-navigation/native';
|
||||
import { createMaterialBottomTabNavigator } from 'react-native-paper/react-navigation';
|
||||
import { PaperProvider } from 'react-native-paper';
|
||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
||||
import FontAwesome5 from 'react-native-vector-icons/FontAwesome5';
|
||||
|
||||
import Home from './screens/home';
|
||||
import { lightTheme, darkTheme } from './theme';
|
||||
import { Meme, Tag } from './database';
|
||||
import { createRealmContext } from '@realm/react';
|
||||
|
||||
const TabNavigator = createMaterialBottomTabNavigator();
|
||||
|
||||
const { RealmProvider } = createRealmContext({
|
||||
schema: [Meme, Tag],
|
||||
});
|
||||
|
||||
function App(): JSX.Element {
|
||||
const colorScheme = Appearance.getColorScheme();
|
||||
const theme = colorScheme === 'dark' ? lightTheme : darkTheme;
|
||||
|
||||
return (
|
||||
<PaperProvider theme={theme}>
|
||||
<SafeAreaProvider>
|
||||
<StatusBar
|
||||
barStyle={colorScheme === 'dark' ? 'dark-content' : 'light-content'}
|
||||
backgroundColor={theme.colors.background}
|
||||
/>
|
||||
<NavigationContainer>
|
||||
<TabNavigator.Navigator>
|
||||
<TabNavigator.Screen
|
||||
name="Home"
|
||||
component={Home}
|
||||
options={{
|
||||
tabBarIcon: ({ color }) => (
|
||||
<FontAwesome5 name="home" color={color} size={20} />
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</TabNavigator.Navigator>
|
||||
</NavigationContainer>
|
||||
</SafeAreaProvider>
|
||||
</PaperProvider>
|
||||
<RealmProvider>
|
||||
<PaperProvider theme={theme}>
|
||||
<SafeAreaProvider>
|
||||
<StatusBar
|
||||
barStyle={colorScheme === 'dark' ? 'dark-content' : 'light-content'}
|
||||
backgroundColor={theme.colors.background}
|
||||
/>
|
||||
<NavigationContainer>
|
||||
<TabNavigator.Navigator>
|
||||
<TabNavigator.Screen
|
||||
name="Home"
|
||||
component={Home}
|
||||
options={{
|
||||
tabBarIcon: ({ color }) => (
|
||||
<FontAwesome5 name="home" color={color} size={20} />
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</TabNavigator.Navigator>
|
||||
</NavigationContainer>
|
||||
</SafeAreaProvider>
|
||||
</PaperProvider>
|
||||
</RealmProvider>
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user