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({
)}
+
+