Fix editing new workout

Closes #39
This commit is contained in:
Brandon Presley 2022-09-24 14:16:33 +12:00
parent fdb4cb8c85
commit 462c42cfb7
2 changed files with 23 additions and 14 deletions

View File

@ -12,7 +12,7 @@ import ConfirmDialog from './ConfirmDialog';
import {MARGIN, PADDING} from './constants';
import MassiveInput from './MassiveInput';
import {updatePlanWorkouts} from './plan.service';
import {addSet, getSets, updateManySet, updateSetImage} from './set.service';
import {addSet, getSet, updateManySet, updateSetImage} from './set.service';
import {WorkoutsPageParams} from './WorkoutsPage';
export default function EditWorkout() {
@ -34,20 +34,19 @@ export default function EditWorkout() {
<IconButton icon="arrow-back" onPress={() => navigation.goBack()} />
),
headerRight: null,
title: params.value.name ? params.value.name : 'New workout',
title: params.value.name || 'New workout',
});
if (!params.value.name) return;
getSets({search: params.value.name, limit: 1, offset: 0}).then(
([set]) => {
if (!set) return;
setUri(set.image);
setMinutes(set.minutes?.toString() ?? '3');
setSeconds(set.seconds?.toString() ?? '30');
setSets(set.sets?.toString() ?? '3');
setSteps(set.steps ?? '');
},
);
}, [navigation, params]),
if (!name) return;
getSet(name).then(set => {
console.log(`${EditWorkout.name}.focus`, {set, name});
if (!set) return;
setUri(set.image);
setMinutes(set.minutes?.toString() ?? '3');
setSeconds(set.seconds?.toString() ?? '30');
setSets(set.sets?.toString() ?? '3');
setSteps(set.steps ?? '');
});
}, [navigation, name, params.value.name]),
);
const update = async () => {

View File

@ -61,6 +61,16 @@ interface PageParams {
offset: number;
}
export const getSet = async (name: string): Promise<Set> => {
const select = `
SELECT * from sets
WHERE name = ?
LIMIT 1
`;
const [result] = await db.executeSql(select, [name]);
return result.rows.item(0);
};
export const getSets = async ({
search,
limit,