Fix type errors related to upgrade

This commit is contained in:
Brandon Presley 2023-07-15 14:38:46 +12:00
parent 6dabb7049f
commit 89606b9d21
14 changed files with 16 additions and 37 deletions

View File

@ -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}
/> />

View File

@ -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] }

View File

@ -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'
/> />

View File

@ -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)}
/> />

View File

@ -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}
/> />

View File

@ -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'
/> />

View File

@ -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>
)} )}

View File

@ -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>

View File

@ -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')

View File

@ -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)

View File

@ -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

View File

@ -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(),
}} }}

View File

@ -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'))

View File

@ -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"]
] ]
} }