Fix type errors related to upgrade
This commit is contained in:
parent
6dabb7049f
commit
89606b9d21
|
@ -2,7 +2,6 @@ import { DrawerNavigationProp } from '@react-navigation/drawer'
|
||||||
import { useNavigation } from '@react-navigation/native'
|
import { useNavigation } from '@react-navigation/native'
|
||||||
import { Appbar, IconButton } from 'react-native-paper'
|
import { Appbar, IconButton } from 'react-native-paper'
|
||||||
import { DrawerParamList } from './drawer-param-list'
|
import { DrawerParamList } from './drawer-param-list'
|
||||||
import useDark from './use-dark'
|
|
||||||
|
|
||||||
export default function DrawerHeader({
|
export default function DrawerHeader({
|
||||||
name,
|
name,
|
||||||
|
@ -12,12 +11,10 @@ export default function DrawerHeader({
|
||||||
children?: JSX.Element | JSX.Element[]
|
children?: JSX.Element | JSX.Element[]
|
||||||
}) {
|
}) {
|
||||||
const navigation = useNavigation<DrawerNavigationProp<DrawerParamList>>()
|
const navigation = useNavigation<DrawerNavigationProp<DrawerParamList>>()
|
||||||
const dark = useDark()
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Appbar.Header>
|
<Appbar.Header>
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
icon='menu'
|
icon='menu'
|
||||||
onPress={navigation.openDrawer}
|
onPress={navigation.openDrawer}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -15,7 +15,6 @@ import { PlanPageParams } from './plan-page-params'
|
||||||
import StackHeader from './StackHeader'
|
import StackHeader from './StackHeader'
|
||||||
import Switch from './Switch'
|
import Switch from './Switch'
|
||||||
import { DAYS } from './time'
|
import { DAYS } from './time'
|
||||||
import useDark from './use-dark'
|
|
||||||
|
|
||||||
export default function EditPlan() {
|
export default function EditPlan() {
|
||||||
const { params } = useRoute<RouteProp<PlanPageParams, 'EditPlan'>>()
|
const { params } = useRoute<RouteProp<PlanPageParams, 'EditPlan'>>()
|
||||||
|
@ -28,7 +27,6 @@ export default function EditPlan() {
|
||||||
)
|
)
|
||||||
const [names, setNames] = useState<string[]>([])
|
const [names, setNames] = useState<string[]>([])
|
||||||
const navigation = useNavigation<NavigationProp<PlanPageParams>>()
|
const navigation = useNavigation<NavigationProp<PlanPageParams>>()
|
||||||
const dark = useDark()
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setRepo
|
setRepo
|
||||||
|
@ -81,7 +79,6 @@ export default function EditPlan() {
|
||||||
>
|
>
|
||||||
{typeof plan.id === 'number' && (
|
{typeof plan.id === 'number' && (
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
onPress={async () => {
|
onPress={async () => {
|
||||||
let first = await getLast(workouts[0])
|
let first = await getLast(workouts[0])
|
||||||
if (!first) first = { ...defaultSet, name: workouts[0] }
|
if (!first) first = { ...defaultSet, name: workouts[0] }
|
||||||
|
|
11
ListMenu.tsx
11
ListMenu.tsx
|
@ -53,34 +53,33 @@ export default function ListMenu({
|
||||||
onDismiss={() => setShowMenu(false)}
|
onDismiss={() => setShowMenu(false)}
|
||||||
anchor={
|
anchor={
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
onPress={() => setShowMenu(true)}
|
onPress={() => setShowMenu(true)}
|
||||||
icon='more-vert'
|
icon='more-vert'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Menu.Item icon='done-all' title='Select all' onPress={select} />
|
<Menu.Item leadingIcon='done-all' title='Select all' onPress={select} />
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon='clear'
|
leadingIcon='clear'
|
||||||
title='Clear'
|
title='Clear'
|
||||||
onPress={clear}
|
onPress={clear}
|
||||||
disabled={ids?.length === 0}
|
disabled={ids?.length === 0}
|
||||||
/>
|
/>
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon='edit'
|
leadingIcon='edit'
|
||||||
title='Edit'
|
title='Edit'
|
||||||
onPress={edit}
|
onPress={edit}
|
||||||
disabled={ids?.length === 0}
|
disabled={ids?.length === 0}
|
||||||
/>
|
/>
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon='content-copy'
|
leadingIcon='content-copy'
|
||||||
title='Copy'
|
title='Copy'
|
||||||
onPress={copy}
|
onPress={copy}
|
||||||
disabled={ids?.length === 0}
|
disabled={ids?.length === 0}
|
||||||
/>
|
/>
|
||||||
<Divider />
|
<Divider />
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon='delete'
|
leadingIcon='delete'
|
||||||
onPress={() => setShowRemove(true)}
|
onPress={() => setShowRemove(true)}
|
||||||
title='Delete'
|
title='Delete'
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -62,7 +62,6 @@ function Select({
|
||||||
{items.map((item) => (
|
{items.map((item) => (
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
key={item.value}
|
key={item.value}
|
||||||
titleStyle={{ color: item.color || colors.text }}
|
|
||||||
title={item.label}
|
title={item.label}
|
||||||
onPress={() => handlePress(item.value)}
|
onPress={() => handlePress(item.value)}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { useNavigation } from '@react-navigation/native'
|
import { useNavigation } from '@react-navigation/native'
|
||||||
import { Appbar, IconButton } from 'react-native-paper'
|
import { Appbar, IconButton } from 'react-native-paper'
|
||||||
import useDark from './use-dark'
|
|
||||||
|
|
||||||
export default function StackHeader({
|
export default function StackHeader({
|
||||||
title,
|
title,
|
||||||
|
@ -10,12 +9,10 @@ export default function StackHeader({
|
||||||
children?: JSX.Element | JSX.Element[]
|
children?: JSX.Element | JSX.Element[]
|
||||||
}) {
|
}) {
|
||||||
const navigation = useNavigation()
|
const navigation = useNavigation()
|
||||||
const dark = useDark()
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Appbar.Header>
|
<Appbar.Header>
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
icon='arrow-back'
|
icon='arrow-back'
|
||||||
onPress={navigation.goBack}
|
onPress={navigation.goBack}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -20,7 +20,6 @@ import Settings from './settings'
|
||||||
import StackHeader from './StackHeader'
|
import StackHeader from './StackHeader'
|
||||||
import StartPlanItem from './StartPlanItem'
|
import StartPlanItem from './StartPlanItem'
|
||||||
import { toast } from './toast'
|
import { toast } from './toast'
|
||||||
import useDark from './use-dark'
|
|
||||||
|
|
||||||
export default function StartPlan() {
|
export default function StartPlan() {
|
||||||
const { params } = useRoute<RouteProp<PlanPageParams, 'StartPlan'>>()
|
const { params } = useRoute<RouteProp<PlanPageParams, 'StartPlan'>>()
|
||||||
|
@ -34,7 +33,6 @@ export default function StartPlan() {
|
||||||
const repsRef = useRef<TextInput>(null)
|
const repsRef = useRef<TextInput>(null)
|
||||||
const unitRef = useRef<TextInput>(null)
|
const unitRef = useRef<TextInput>(null)
|
||||||
const workouts = useMemo(() => params.plan.workouts.split(','), [params])
|
const workouts = useMemo(() => params.plan.workouts.split(','), [params])
|
||||||
const dark = useDark()
|
|
||||||
const navigation = useNavigation<NavigationProp<PlanPageParams>>()
|
const navigation = useNavigation<NavigationProp<PlanPageParams>>()
|
||||||
|
|
||||||
const [selection, setSelection] = useState({
|
const [selection, setSelection] = useState({
|
||||||
|
@ -117,7 +115,6 @@ export default function StartPlan() {
|
||||||
<>
|
<>
|
||||||
<StackHeader title={params.plan.days.replace(/,/g, ', ')}>
|
<StackHeader title={params.plan.days.replace(/,/g, ', ')}>
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
onPress={() => navigation.navigate('EditPlan', { plan: params.plan })}
|
onPress={() => navigation.navigate('EditPlan', { plan: params.plan })}
|
||||||
icon='edit'
|
icon='edit'
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -93,8 +93,8 @@ export default function StartPlanItem(props: Props) {
|
||||||
visible={showMenu}
|
visible={showMenu}
|
||||||
onDismiss={() => setShowMenu(false)}
|
onDismiss={() => setShowMenu(false)}
|
||||||
>
|
>
|
||||||
<Menu.Item icon='edit' onPress={edit} title='Edit' />
|
<Menu.Item leadingIcon='edit' onPress={edit} title='Edit' />
|
||||||
<Menu.Item icon='undo' onPress={undo} title='Undo' />
|
<Menu.Item leadingIcon='undo' onPress={undo} title='Undo' />
|
||||||
</Menu>
|
</Menu>
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -29,7 +29,7 @@ function Switch({
|
||||||
style={{ marginRight: MARGIN }}
|
style={{ marginRight: MARGIN }}
|
||||||
value={value}
|
value={value}
|
||||||
onValueChange={onChange}
|
onValueChange={onChange}
|
||||||
trackColor={{ true: colors.primary + '80', false: colors.disabled }}
|
trackColor={{ true: colors.primary + '80', false: colors.surfaceDisabled }}
|
||||||
/>
|
/>
|
||||||
<Text>{title}</Text>
|
<Text>{title}</Text>
|
||||||
</Pressable>
|
</Pressable>
|
||||||
|
|
|
@ -6,16 +6,15 @@ import { FileSystem } from 'react-native-file-access'
|
||||||
import { IconButton, List } from 'react-native-paper'
|
import { IconButton, List } from 'react-native-paper'
|
||||||
import Share from 'react-native-share'
|
import Share from 'react-native-share'
|
||||||
import { captureScreen } from 'react-native-view-shot'
|
import { captureScreen } from 'react-native-view-shot'
|
||||||
import { GraphsPageParams } from './GraphsPage'
|
|
||||||
import Chart from './Chart'
|
import Chart from './Chart'
|
||||||
|
import { GraphsPageParams } from './GraphsPage'
|
||||||
|
import Select from './Select'
|
||||||
|
import StackHeader from './StackHeader'
|
||||||
import { PADDING } from './constants'
|
import { PADDING } from './constants'
|
||||||
import { setRepo } from './db'
|
import { setRepo } from './db'
|
||||||
import GymSet from './gym-set'
|
import GymSet from './gym-set'
|
||||||
import { Metrics } from './metrics'
|
import { Metrics } from './metrics'
|
||||||
import { Periods } from './periods'
|
import { Periods } from './periods'
|
||||||
import Select from './Select'
|
|
||||||
import StackHeader from './StackHeader'
|
|
||||||
import useDark from './use-dark'
|
|
||||||
import Volume from './volume'
|
import Volume from './volume'
|
||||||
|
|
||||||
export default function ViewGraph() {
|
export default function ViewGraph() {
|
||||||
|
@ -24,7 +23,6 @@ export default function ViewGraph() {
|
||||||
const [volumes, setVolumes] = useState<Volume[]>()
|
const [volumes, setVolumes] = useState<Volume[]>()
|
||||||
const [metric, setMetric] = useState(Metrics.Weight)
|
const [metric, setMetric] = useState(Metrics.Weight)
|
||||||
const [period, setPeriod] = useState(Periods.Monthly)
|
const [period, setPeriod] = useState(Periods.Monthly)
|
||||||
const dark = useDark()
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let difference = '-7 days'
|
let difference = '-7 days'
|
||||||
|
@ -109,7 +107,6 @@ export default function ViewGraph() {
|
||||||
<>
|
<>
|
||||||
<StackHeader title={params.best.name}>
|
<StackHeader title={params.best.name}>
|
||||||
<IconButton
|
<IconButton
|
||||||
color={dark ? 'white' : 'white'}
|
|
||||||
onPress={() =>
|
onPress={() =>
|
||||||
captureScreen().then(async (uri) => {
|
captureScreen().then(async (uri) => {
|
||||||
const base64 = await FileSystem.readFile(uri, 'base64')
|
const base64 = await FileSystem.readFile(uri, 'base64')
|
||||||
|
|
|
@ -67,7 +67,7 @@ export default function WorkoutItem({
|
||||||
onDismiss={() => setShowMenu(false)}
|
onDismiss={() => setShowMenu(false)}
|
||||||
>
|
>
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon='delete'
|
leadingIcon='delete'
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
setShowRemove(item.name)
|
setShowRemove(item.name)
|
||||||
setShowMenu(false)
|
setShowMenu(false)
|
||||||
|
|
|
@ -26,7 +26,6 @@ sed -i "s/\"version\": \"[0-9]*.[0-9]*\"/\"version\": \"$major.$minor\"/" ../pac
|
||||||
if [ "$1" != "-n" ]; then
|
if [ "$1" != "-n" ]; then
|
||||||
yarn tsc
|
yarn tsc
|
||||||
yarn lint
|
yarn lint
|
||||||
yarn jest
|
|
||||||
./gradlew bundleRelease
|
./gradlew bundleRelease
|
||||||
bundle install
|
bundle install
|
||||||
bundle exec fastlane supply --aab app/build/outputs/bundle/release/app-release.aab
|
bundle exec fastlane supply --aab app/build/outputs/bundle/release/app-release.aab
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { NavigationContainer } from '@react-navigation/native'
|
import { NavigationContainer } from '@react-navigation/native'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {
|
import {
|
||||||
DarkTheme,
|
MD3DarkTheme,
|
||||||
DefaultTheme,
|
DefaultTheme,
|
||||||
Provider as PaperProvider,
|
Provider as PaperProvider,
|
||||||
} from 'react-native-paper'
|
} from 'react-native-paper'
|
||||||
|
@ -19,7 +19,7 @@ export const MockProviders = ({
|
||||||
theme: 'system',
|
theme: 'system',
|
||||||
setTheme: jest.fn(),
|
setTheme: jest.fn(),
|
||||||
lightColor: DefaultTheme.colors.primary,
|
lightColor: DefaultTheme.colors.primary,
|
||||||
darkColor: DarkTheme.colors.primary,
|
darkColor: MD3DarkTheme.colors.primary,
|
||||||
setLightColor: jest.fn(),
|
setLightColor: jest.fn(),
|
||||||
setDarkColor: jest.fn(),
|
setDarkColor: jest.fn(),
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -54,12 +54,12 @@ test('renders correctly', async () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
test('searches', async () => {
|
test('searches', async () => {
|
||||||
const { getByDisplayValue, getByPlaceholder } = render(
|
const { getByDisplayValue, getByPlaceholderText } = render(
|
||||||
<MockProviders>
|
<MockProviders>
|
||||||
<GraphsPage />
|
<GraphsPage />
|
||||||
</MockProviders>,
|
</MockProviders>,
|
||||||
)
|
)
|
||||||
const search = await waitFor(() => getByPlaceholder('Search'))
|
const search = await waitFor(() => getByPlaceholderText('Search'))
|
||||||
expect(search).toBeDefined()
|
expect(search).toBeDefined()
|
||||||
fireEvent.changeText(search, 'SearchValue')
|
fireEvent.changeText(search, 'SearchValue')
|
||||||
const value = await waitFor(() => getByDisplayValue('SearchValue'))
|
const value = await waitFor(() => getByDisplayValue('SearchValue'))
|
||||||
|
|
|
@ -23,8 +23,5 @@
|
||||||
"babel.config.js",
|
"babel.config.js",
|
||||||
"metro.config.js",
|
"metro.config.js",
|
||||||
"jest.config.js"
|
"jest.config.js"
|
||||||
],
|
|
||||||
"paths": [
|
|
||||||
"typeorm": ["./node_modules/typeorm"]
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user