Fix sets added by plan not showing image
This commit is contained in:
parent
7b568d3b04
commit
2aaaac1929
|
@ -1,5 +1,5 @@
|
||||||
import {RouteProp, useFocusEffect, useRoute} from '@react-navigation/native'
|
import {RouteProp, useRoute} from '@react-navigation/native'
|
||||||
import {useCallback, useMemo, useRef, useState} from 'react'
|
import {useCallback, useEffect, useMemo, useRef, useState} from 'react'
|
||||||
import {NativeModules, TextInput, View} from 'react-native'
|
import {NativeModules, TextInput, View} from 'react-native'
|
||||||
import {FlatList} from 'react-native-gesture-handler'
|
import {FlatList} from 'react-native-gesture-handler'
|
||||||
import {Button} from 'react-native-paper'
|
import {Button} from 'react-native-paper'
|
||||||
|
@ -19,12 +19,9 @@ import {toast} from './toast'
|
||||||
|
|
||||||
export default function StartPlan() {
|
export default function StartPlan() {
|
||||||
const {params} = useRoute<RouteProp<PlanPageParams, 'StartPlan'>>()
|
const {params} = useRoute<RouteProp<PlanPageParams, 'StartPlan'>>()
|
||||||
const [name, setName] = useState('')
|
|
||||||
const [reps, setReps] = useState('')
|
const [reps, setReps] = useState('')
|
||||||
const [weight, setWeight] = useState('')
|
const [weight, setWeight] = useState('')
|
||||||
const [unit, setUnit] = useState<string>('kg')
|
const [unit, setUnit] = useState<string>('kg')
|
||||||
const [minutes, setMinutes] = useState(3)
|
|
||||||
const [seconds, setSeconds] = useState(30)
|
|
||||||
const [best, setBest] = useState<GymSet>()
|
const [best, setBest] = useState<GymSet>()
|
||||||
const [selected, setSelected] = useState(0)
|
const [selected, setSelected] = useState(0)
|
||||||
const [settings, setSettings] = useState<Settings>()
|
const [settings, setSettings] = useState<Settings>()
|
||||||
|
@ -65,43 +62,35 @@ export default function StartPlan() {
|
||||||
const select = useCallback(
|
const select = useCallback(
|
||||||
async (index: number, newCounts?: CountMany[]) => {
|
async (index: number, newCounts?: CountMany[]) => {
|
||||||
setSelected(index)
|
setSelected(index)
|
||||||
console.log(`${StartPlan.name}.next:`, {name, index})
|
console.log(`${StartPlan.name}.next:`, {best, index})
|
||||||
if (!counts && !newCounts) return
|
if (!counts && !newCounts) return
|
||||||
const workout = counts ? counts[index] : newCounts[index]
|
const workout = counts ? counts[index] : newCounts[index]
|
||||||
console.log(`${StartPlan.name}.next:`, {workout})
|
console.log(`${StartPlan.name}.next:`, {workout})
|
||||||
const newBest = await getBestSet(workout.name)
|
const newBest = await getBestSet(workout.name)
|
||||||
|
delete newBest.id
|
||||||
console.log(`${StartPlan.name}.next:`, {newBest})
|
console.log(`${StartPlan.name}.next:`, {newBest})
|
||||||
setMinutes(newBest.minutes)
|
|
||||||
setSeconds(newBest.seconds)
|
|
||||||
setName(newBest.name)
|
|
||||||
setReps(newBest.reps.toString())
|
setReps(newBest.reps.toString())
|
||||||
setWeight(newBest.weight.toString())
|
setWeight(newBest.weight.toString())
|
||||||
setUnit(newBest.unit)
|
setUnit(newBest.unit)
|
||||||
setBest(newBest)
|
setBest(newBest)
|
||||||
},
|
},
|
||||||
[name, counts],
|
[counts, best],
|
||||||
)
|
)
|
||||||
|
|
||||||
useFocusEffect(
|
useEffect(() => {
|
||||||
useCallback(() => {
|
|
||||||
refresh().then(newCounts => select(0, newCounts))
|
refresh().then(newCounts => select(0, newCounts))
|
||||||
settingsRepo.findOne({where: {}}).then(setSettings)
|
settingsRepo.findOne({where: {}}).then(setSettings)
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
}, [refresh])
|
||||||
}, [refresh]),
|
|
||||||
)
|
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
console.log(`${SetForm.name}.handleSubmit:`, {reps, weight, unit, best})
|
console.log(`${SetForm.name}.handleSubmit:`, {reps, weight, unit, best})
|
||||||
const [{now}] = await getNow()
|
const [{now}] = await getNow()
|
||||||
await setRepo.save({
|
await setRepo.save({
|
||||||
name,
|
...best,
|
||||||
weight: +weight,
|
weight: +weight,
|
||||||
reps: +reps,
|
reps: +reps,
|
||||||
unit,
|
unit,
|
||||||
created: now,
|
created: now,
|
||||||
minutes,
|
|
||||||
seconds,
|
|
||||||
sets: best.sets,
|
|
||||||
hidden: false,
|
hidden: false,
|
||||||
})
|
})
|
||||||
await refresh()
|
await refresh()
|
||||||
|
@ -113,7 +102,8 @@ export default function StartPlan() {
|
||||||
else if (settings.alarm) toast('Resting...')
|
else if (settings.alarm) toast('Resting...')
|
||||||
else toast('Added set')
|
else toast('Added set')
|
||||||
if (!settings.alarm) return
|
if (!settings.alarm) return
|
||||||
const milliseconds = Number(minutes) * 60 * 1000 + Number(seconds) * 1000
|
const milliseconds =
|
||||||
|
Number(best.minutes) * 60 * 1000 + Number(best.seconds) * 1000
|
||||||
const {vibrate, sound, noSound} = settings
|
const {vibrate, sound, noSound} = settings
|
||||||
const args = [milliseconds, vibrate, sound, noSound]
|
const args = [milliseconds, vibrate, sound, noSound]
|
||||||
NativeModules.AlarmModule.timer(...args)
|
NativeModules.AlarmModule.timer(...args)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user