Prevent setting timer on update

This commit is contained in:
Brandon Presley 2022-07-09 15:37:22 +12:00
parent d1e3255a28
commit 25ce5d9aac
2 changed files with 31 additions and 28 deletions

View File

@ -6,37 +6,48 @@ import {DatabaseContext} from './App';
import Set from './set'; import Set from './set';
export default function EditSet({ export default function EditSet({
onSave, onUpdate,
onCreate,
set, set,
setSet, setSet,
}: { }: {
onSave: () => void; onUpdate: () => void;
onCreate: () => void;
set?: Set; set?: Set;
setSet: (set?: Set) => void; setSet: (set?: Set) => void;
}) { }) {
const db = useContext(DatabaseContext); const db = useContext(DatabaseContext);
const update = async () => {
console.log(`${EditSet.name}.${update.name}`, {set});
await db.executeSql(
`INSERT INTO sets(name, reps, weight, created, unit) VALUES (?,?,?,?,?)`,
[
set?.name,
set?.reps,
set?.weight,
new Date().toISOString(),
set?.unit || 'kg',
],
);
onUpdate();
};
const create = async () => {
console.log(`${EditSet.name}.${create.name}`, {set});
await db.executeSql(
`UPDATE sets SET name = ?, reps = ?, weight = ?, unit = ? WHERE id = ?`,
[set?.name, set?.reps, set?.weight, set?.unit, set?.id],
);
onCreate();
};
const save = async () => { const save = async () => {
if (!set?.name || set?.reps === undefined || set?.weight === undefined) if (!set?.name || set?.reps === undefined || set?.weight === undefined)
return; return;
if (!set?.id) if (set?.id) await update();
await db.executeSql( else await create();
`INSERT INTO sets(name, reps, weight, created, unit) VALUES (?,?,?,?,?)`,
[
set?.name,
set?.reps,
set?.weight,
new Date().toISOString(),
set?.unit || 'kg',
],
);
else
await db.executeSql(
`UPDATE sets SET name = ?, reps = ?, weight = ?, unit = ? WHERE id = ?`,
[set.name, set.reps, set.weight, set.unit, set.id],
);
setSet(undefined); setSet(undefined);
onSave();
}; };
return ( return (
@ -100,8 +111,4 @@ const styles = StyleSheet.create({
text: { text: {
marginBottom: 10, marginBottom: 10,
}, },
title: {
fontSize: 20,
marginBottom: 10,
},
}); });

View File

@ -96,17 +96,13 @@ export default function HomePage() {
refreshing={refreshing} refreshing={refreshing}
onRefresh={refreshLoader} onRefresh={refreshLoader}
/> />
<EditSet set={edit} setSet={setEdit} onSave={save} /> <EditSet set={edit} setSet={setEdit} onCreate={save} onUpdate={refresh} />
<MassiveFab onPress={() => setEdit({} as Set)} /> <MassiveFab onPress={() => setEdit({} as Set)} />
</View> </View>
); );
} }
const styles = StyleSheet.create({ const styles = StyleSheet.create({
name: {
fontSize: 18,
},
container: { container: {
flexGrow: 1, flexGrow: 1,
padding: 10, padding: 10,