From 39fafa353f853763c041863b02506af5cd7e366b Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Sat, 24 Sep 2022 18:47:31 +1200 Subject: [PATCH] Split out some type definitions into their own files --- App.tsx | 9 +-------- BestPage.tsx | 2 +- DrawerMenu.tsx | 2 +- EditPlan.tsx | 2 +- EditSet.tsx | 2 +- HomePage.tsx | 11 ++--------- PlanPage.tsx | 10 ++-------- SetItem.tsx | 2 +- SetList.tsx | 2 +- WorkoutsPage.tsx | 2 +- drawer-param-list.ts | 8 ++++++++ home-page-params.ts | 9 +++++++++ plan-page-params.ts | 8 ++++++++ route.ts | 2 +- 14 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 drawer-param-list.ts create mode 100644 home-page-params.ts create mode 100644 plan-page-params.ts diff --git a/App.tsx b/App.tsx index 7395d4a..e1bac1b 100644 --- a/App.tsx +++ b/App.tsx @@ -12,18 +12,11 @@ import { Provider, } from 'react-native-paper'; import Ionicon from 'react-native-vector-icons/Ionicons'; +import {DrawerParamList} from './drawer-param-list'; import MassiveSnack from './MassiveSnack'; import Routes from './Routes'; export const Drawer = createDrawerNavigator(); -export type DrawerParamList = { - Home: {}; - Settings: {}; - Best: {}; - Plans: {}; - Workouts: {}; - Loading: {}; -}; export const CombinedDefaultTheme = { ...NavigationDefaultTheme, diff --git a/BestPage.tsx b/BestPage.tsx index edc550c..5f8496c 100644 --- a/BestPage.tsx +++ b/BestPage.tsx @@ -3,8 +3,8 @@ import {useNavigation} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {IconButton} from 'react-native-paper'; -import {DrawerParamList} from './App'; import BestList from './BestList'; +import {DrawerParamList} from './drawer-param-list'; import Set from './set'; import ViewBest from './ViewBest'; diff --git a/DrawerMenu.tsx b/DrawerMenu.tsx index eef2664..43a1831 100644 --- a/DrawerMenu.tsx +++ b/DrawerMenu.tsx @@ -3,8 +3,8 @@ import React, {useCallback, useContext, useState} from 'react'; import DocumentPicker from 'react-native-document-picker'; import {FileSystem} from 'react-native-file-access'; import {Divider, IconButton, Menu} from 'react-native-paper'; -import {DrawerParamList} from './App'; import ConfirmDialog from './ConfirmDialog'; +import {DrawerParamList} from './drawer-param-list'; import {SnackbarContext} from './MassiveSnack'; import {Plan} from './plan'; import {addPlans, deletePlans, getAllPlans} from './plan.service'; diff --git a/EditPlan.tsx b/EditPlan.tsx index 5abc071..bdbee6d 100644 --- a/EditPlan.tsx +++ b/EditPlan.tsx @@ -8,8 +8,8 @@ import { import React, {useCallback, useEffect, useState} from 'react'; import {ScrollView, StyleSheet, Text, View} from 'react-native'; import {Button, IconButton} from 'react-native-paper'; -import {DrawerParamList} from './App'; import {MARGIN, PADDING} from './constants'; +import {DrawerParamList} from './drawer-param-list'; import MassiveSwitch from './MassiveSwitch'; import {addPlan, updatePlan} from './plan.service'; import {PlanPageParams} from './PlanPage'; diff --git a/EditSet.tsx b/EditSet.tsx index 923ad6c..002901f 100644 --- a/EditSet.tsx +++ b/EditSet.tsx @@ -8,7 +8,7 @@ import React, {useCallback, useContext} from 'react'; import {NativeModules, View} from 'react-native'; import {IconButton} from 'react-native-paper'; import {PADDING} from './constants'; -import {HomePageParams} from './HomePage'; +import {HomePageParams} from './home-page-params'; import {SnackbarContext} from './MassiveSnack'; import Set from './set'; import {addSet, updateSet} from './set.service'; diff --git a/HomePage.tsx b/HomePage.tsx index 09dcec4..fc0350e 100644 --- a/HomePage.tsx +++ b/HomePage.tsx @@ -3,19 +3,12 @@ import {useNavigation} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {IconButton} from 'react-native-paper'; -import {DrawerParamList} from './App'; +import {DrawerParamList} from './drawer-param-list'; import EditSet from './EditSet'; -import Set from './set'; +import {HomePageParams} from './home-page-params'; import SetList from './SetList'; const Stack = createStackNavigator(); -export type HomePageParams = { - Sets: {}; - EditSet: { - set: Set; - workouts: string[]; - }; -}; export default function HomePage() { const navigation = useNavigation>(); diff --git a/PlanPage.tsx b/PlanPage.tsx index 7960dcb..8a08823 100644 --- a/PlanPage.tsx +++ b/PlanPage.tsx @@ -3,18 +3,12 @@ import {useNavigation} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {IconButton} from 'react-native-paper'; -import {DrawerParamList} from './App'; +import {DrawerParamList} from './drawer-param-list'; import EditPlan from './EditPlan'; -import {Plan} from './plan'; +import {PlanPageParams} from './plan-page-params'; import PlanList from './PlanList'; const Stack = createStackNavigator(); -export type PlanPageParams = { - PlanList: {}; - EditPlan: { - plan: Plan; - }; -}; export default function PlanPage() { const navigation = useNavigation>(); diff --git a/SetItem.tsx b/SetItem.tsx index 338dc7d..56e187d 100644 --- a/SetItem.tsx +++ b/SetItem.tsx @@ -2,7 +2,7 @@ import {NavigationProp, useNavigation} from '@react-navigation/native'; import React, {useCallback, useState} from 'react'; import {GestureResponderEvent, Image} from 'react-native'; import {Divider, List, Menu, Text} from 'react-native-paper'; -import {HomePageParams} from './HomePage'; +import {HomePageParams} from './home-page-params'; import Set from './set'; import {deleteSet} from './set.service'; diff --git a/SetList.tsx b/SetList.tsx index aaa450e..8bef898 100644 --- a/SetList.tsx +++ b/SetList.tsx @@ -8,7 +8,7 @@ import {FlatList} from 'react-native'; import {List} from 'react-native-paper'; import {getBestSet} from './best.service'; import DrawerMenu from './DrawerMenu'; -import {HomePageParams} from './HomePage'; +import {HomePageParams} from './home-page-params'; import Page from './Page'; import {getTodaysPlan} from './plan.service'; import Set from './set'; diff --git a/WorkoutsPage.tsx b/WorkoutsPage.tsx index 7636311..aa745d5 100644 --- a/WorkoutsPage.tsx +++ b/WorkoutsPage.tsx @@ -3,7 +3,7 @@ import {useNavigation} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {IconButton} from 'react-native-paper'; -import {DrawerParamList} from './App'; +import {DrawerParamList} from './drawer-param-list'; import EditWorkout from './EditWorkout'; import Set from './set'; import WorkoutList from './WorkoutList'; diff --git a/drawer-param-list.ts b/drawer-param-list.ts new file mode 100644 index 0000000..a2676d3 --- /dev/null +++ b/drawer-param-list.ts @@ -0,0 +1,8 @@ +export type DrawerParamList = { + Home: {}; + Settings: {}; + Best: {}; + Plans: {}; + Workouts: {}; + Loading: {}; +}; diff --git a/home-page-params.ts b/home-page-params.ts new file mode 100644 index 0000000..ec343a9 --- /dev/null +++ b/home-page-params.ts @@ -0,0 +1,9 @@ +import Set from './set'; + +export type HomePageParams = { + Sets: {}; + EditSet: { + set: Set; + workouts: string[]; + }; +}; diff --git a/plan-page-params.ts b/plan-page-params.ts new file mode 100644 index 0000000..89e15d1 --- /dev/null +++ b/plan-page-params.ts @@ -0,0 +1,8 @@ +import {Plan} from './plan'; + +export type PlanPageParams = { + PlanList: {}; + EditPlan: { + plan: Plan; + }; +}; diff --git a/route.ts b/route.ts index 01725fc..b8d37c1 100644 --- a/route.ts +++ b/route.ts @@ -1,4 +1,4 @@ -import {DrawerParamList} from './App'; +import {DrawerParamList} from './drawer-param-list'; export default interface Route { name: keyof DrawerParamList;