Massive/App.tsx

47 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-07-03 01:50:01 +00:00
import AsyncStorage from '@react-native-async-storage/async-storage';
2022-07-04 04:03:48 +00:00
import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs';
2022-06-30 06:50:52 +00:00
import {
2022-07-03 01:50:01 +00:00
DarkTheme,
DefaultTheme,
NavigationContainer,
} from '@react-navigation/native';
import React, {useEffect} from 'react';
import {NativeModules, StatusBar, useColorScheme} from 'react-native';
2022-07-03 01:50:01 +00:00
import {setupSchema} from './db';
import Exercises from './Exercises';
import Home from './Home';
import Settings from './Settings';
2022-07-04 04:03:48 +00:00
const Tab = createMaterialTopTabNavigator<RootStackParamList>();
2022-07-03 01:50:01 +00:00
export type RootStackParamList = {
Home: {};
Settings: {};
2022-07-04 04:03:48 +00:00
Exercises: {};
2022-07-03 01:50:01 +00:00
};
setupSchema();
2022-06-30 06:50:52 +00:00
2022-07-01 01:42:42 +00:00
const App = () => {
const dark = useColorScheme() === 'dark';
2022-06-30 06:50:52 +00:00
2022-07-03 01:50:01 +00:00
useEffect(() => {
AsyncStorage.getItem('minutes').then(async minutes => {
if (!minutes) await AsyncStorage.setItem('minutes', '3');
});
console.log(NativeModules.ExportModule.sets());
2022-07-03 01:50:01 +00:00
}, []);
2022-06-30 06:50:52 +00:00
return (
2022-07-03 01:50:01 +00:00
<NavigationContainer theme={dark ? DarkTheme : DefaultTheme}>
2022-07-01 01:42:42 +00:00
<StatusBar barStyle={dark ? 'light-content' : 'dark-content'} />
2022-07-04 04:03:48 +00:00
<Tab.Navigator>
2022-07-03 01:50:01 +00:00
<Tab.Screen name="Home" component={Home} />
<Tab.Screen name="Exercises" component={Exercises} />
<Tab.Screen name="Settings" component={Settings} />
</Tab.Navigator>
</NavigationContainer>
2022-06-30 06:50:52 +00:00
);
};
export default App;