Massive/Routes.tsx

45 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-09-25 04:49:26 +00:00
import {createDrawerNavigator} from '@react-navigation/drawer';
2022-07-15 04:34:06 +00:00
import {IconButton} from 'react-native-paper';
import BestPage from './BestPage';
2022-09-25 04:49:26 +00:00
import {DrawerParamList} from './drawer-param-list';
2022-07-15 04:34:06 +00:00
import HomePage from './HomePage';
import PlanPage from './PlanPage';
2022-09-24 03:29:24 +00:00
import Route from './route';
2022-07-15 04:34:06 +00:00
import SettingsPage from './SettingsPage';
import useDark from './use-dark';
import WorkoutsPage from './WorkoutsPage';
2022-07-15 04:34:06 +00:00
2022-09-25 04:49:26 +00:00
const Drawer = createDrawerNavigator<DrawerParamList>();
export default function Routes() {
const dark = useDark();
2022-07-15 04:34:06 +00:00
const routes: Route[] = [
{name: 'Home', component: HomePage, icon: 'home'},
{name: 'Plans', component: PlanPage, icon: 'event'},
{name: 'Best', component: BestPage, icon: 'insights'},
{name: 'Workouts', component: WorkoutsPage, icon: 'fitness-center'},
2022-07-15 04:34:06 +00:00
{name: 'Settings', component: SettingsPage, icon: 'settings'},
];
return (
<Drawer.Navigator
screenOptions={{
headerTintColor: dark ? 'white' : 'black',
swipeEdgeWidth: 1000,
headerShown: false,
}}>
{routes.map(route => (
<Drawer.Screen
key={route.name}
name={route.name}
component={route.component}
options={{
drawerIcon: () => <IconButton icon={route.icon} />,
}}
/>
))}
</Drawer.Navigator>
2022-07-15 04:34:06 +00:00
);
}