From 8019df7418814e9adcde0111b00e7c6508f11f4d Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Thu, 3 Nov 2022 23:32:41 +1300 Subject: [PATCH] Add some useCallbacks --- EditSet.tsx | 13 +++++-------- SetForm.tsx | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/EditSet.tsx b/EditSet.tsx index 44ad0d2..22aab02 100644 --- a/EditSet.tsx +++ b/EditSet.tsx @@ -43,12 +43,10 @@ export default function EditSet() { [settings], ) - const add = useCallback( + const added = useCallback( async (value: GymSet) => { startTimer(value.name) console.log(`${EditSet.name}.add`, {set: value}) - const result = await setRepo.save(value) - console.log({result}) if (!settings.notify) return if ( value.weight > set.weight || @@ -59,20 +57,19 @@ export default function EditSet() { [startTimer, set, settings], ) - const save = useCallback( + const saved = useCallback( async (value: GymSet) => { - if (typeof set.id === 'number') await setRepo.save(value) - else await add(value) + if (typeof set.id !== 'number') added(value) navigation.goBack() }, - [add, set.id, navigation], + [added, set.id, navigation], ) return ( <> - {settings && } + {settings && } ) diff --git a/SetForm.tsx b/SetForm.tsx index 9e59787..72e5c3e 100644 --- a/SetForm.tsx +++ b/SetForm.tsx @@ -12,12 +12,12 @@ import {format} from './time' import {toast} from './toast' export default function SetForm({ - save, + onSaved, set, settings, }: { set: GymSet - save: (set: GymSet) => void + onSaved: (set: GymSet) => void settings: Settings }) { const [name, setName] = useState(set.name) @@ -44,12 +44,12 @@ export default function SetForm({ console.log(`${SetForm.name}.handleSubmit:`, {image}) const [{now}] = await getNow() - save({ + const saved = await setRepo.save({ + id: set.id, name, created: now, reps: Number(reps), weight: Number(weight), - id: set.id, unit, image, minutes: Number(set.minutes ?? 3), @@ -57,19 +57,20 @@ export default function SetForm({ sets: set.sets ?? 3, hidden: false, }) + onSaved(saved) } - const handleName = (value: string) => { + const handleName = useCallback((value: string) => { setName(value.replace(/,|'/g, '')) if (value.match(/,|'/)) toast('Commas and single quotes would break CSV exports') - } + }, []) - const handleUnit = (value: string) => { + const handleUnit = useCallback((value: string) => { setUnit(value.replace(/,|'/g, '')) if (value.match(/,|'/)) toast('Commas and single quotes would break CSV exports') - } + }, []) const changeImage = useCallback(async () => { const {fileCopyUri} = await DocumentPicker.pickSingle({ @@ -148,6 +149,7 @@ export default function SetForm({ )} + +