diff --git a/EditSet.tsx b/EditSet.tsx index 552332d..a01a444 100644 --- a/EditSet.tsx +++ b/EditSet.tsx @@ -60,15 +60,15 @@ export default function EditSet() { todaysWorkouts[todaysWorkouts.indexOf(todaysSets[0].name!) + 1]; if (!nextWorkout) return; setName(nextWorkout); - }, []); + }, [getTodaysSets, getTodaysPlan]); useEffect(() => { if (params.set.id) return; predict(); - }, [predict]); + }, [predict, params.set.id]); - const onConfirm = (created: Date) => { - setCreated(created); + const onConfirm = (date: Date) => { + setCreated(date); setShowDate(false); }; @@ -79,7 +79,16 @@ export default function EditSet() { [name, reps, weight, created.toISOString(), unit, params.set.id], ); navigation.goBack(); - }, [params.set, name, reps, weight, created, unit, db]); + }, [params.set, name, reps, weight, created, unit, db, navigation]); + + const notify = useCallback(async () => { + const enabled = await AsyncStorage.getItem('alarmEnabled'); + if (enabled !== 'true') return; + const minutes = await AsyncStorage.getItem('minutes'); + const seconds = await AsyncStorage.getItem('seconds'); + const milliseconds = Number(minutes) * 60 * 1000 + Number(seconds) * 1000; + NativeModules.AlarmModule.timer(milliseconds); + }, []); const add = useCallback(async () => { if (name === undefined || reps === '' || weight === '') return; @@ -96,21 +105,12 @@ export default function EditSet() { ]); notify(); navigation.goBack(); - }, [name, reps, weight, created, unit, db]); - - const notify = useCallback(async () => { - const enabled = await AsyncStorage.getItem('alarmEnabled'); - if (enabled !== 'true') return; - const minutes = await AsyncStorage.getItem('minutes'); - const seconds = await AsyncStorage.getItem('seconds'); - const milliseconds = Number(minutes) * 60 * 1000 + Number(seconds) * 1000; - NativeModules.AlarmModule.timer(milliseconds); - }, []); + }, [name, reps, weight, created, unit, db, navigation, notify]); const save = useCallback(async () => { if (params.set.id) return update(); return add(); - }, [update, add]); + }, [update, add, params.set.id]); return ( diff --git a/HomePage.tsx b/HomePage.tsx index aab3a99..56bdbc5 100644 --- a/HomePage.tsx +++ b/HomePage.tsx @@ -1,5 +1,5 @@ import {DrawerNavigationProp} from '@react-navigation/drawer'; -import {TypedNavigator, useNavigation} from '@react-navigation/native'; +import {useNavigation} from '@react-navigation/native'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; import React from 'react'; import {IconButton} from 'react-native-paper'; diff --git a/SetItem.tsx b/SetItem.tsx index 99f842a..8d1a805 100644 --- a/SetItem.tsx +++ b/SetItem.tsx @@ -29,7 +29,7 @@ export default function SetItem({ set.created = new Date().toISOString(); set.id = 0; navigation.navigate('EditSet', {set}); - }, [navigation]); + }, [navigation, item]); const longPress = useCallback( (e: GestureResponderEvent) => {