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

View File

@ -61,6 +61,16 @@ interface PageParams {
offset: number; 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 ({ export const getSets = async ({
search, search,
limit, limit,