Fix multi-edit sets navigation

This commit is contained in:
Brandon Presley 2023-08-28 18:14:52 +12:00
parent 6b524dce34
commit f1e8988e56

View File

@ -1,4 +1,5 @@
import { import {
NavigationProp,
RouteProp, RouteProp,
useFocusEffect, useFocusEffect,
useNavigation, useNavigation,
@ -21,7 +22,7 @@ import StackHeader from "./StackHeader";
export default function EditSets() { export default function EditSets() {
const { params } = useRoute<RouteProp<HomePageParams, "EditSets">>(); const { params } = useRoute<RouteProp<HomePageParams, "EditSets">>();
const { ids } = params; const { ids } = params;
const navigation = useNavigation(); const { navigate } = useNavigation<NavigationProp<HomePageParams>>();
const [settings, setSettings] = useState<Settings>({} as Settings); const [settings, setSettings] = useState<Settings>({} as Settings);
const [name, setName] = useState(""); const [name, setName] = useState("");
const [reps, setReps] = useState(""); const [reps, setReps] = useState("");
@ -51,7 +52,7 @@ export default function EditSets() {
}, [ids]) }, [ids])
); );
const handleSubmit = async () => { const save = async () => {
console.log(`${EditSets.name}.handleSubmit:`, { uri: newImage, name }); console.log(`${EditSets.name}.handleSubmit:`, { uri: newImage, name });
const update: Partial<GymSet> = {}; const update: Partial<GymSet> = {};
if (name) update.name = name; if (name) update.name = name;
@ -60,7 +61,7 @@ export default function EditSets() {
if (unit) update.unit = unit; if (unit) update.unit = unit;
if (newImage) update.image = newImage; if (newImage) update.image = newImage;
if (Object.keys(update).length > 0) await setRepo.update(ids, update); if (Object.keys(update).length > 0) await setRepo.update(ids, update);
navigation.goBack(); navigate("Sets", { reset: ids[0] });
}; };
const changeImage = useCallback(async () => { const changeImage = useCallback(async () => {
@ -129,7 +130,7 @@ export default function EditSets() {
keyboardType="numeric" keyboardType="numeric"
value={weight} value={weight}
onChangeText={setWeight} onChangeText={setWeight}
onSubmitEditing={handleSubmit} onSubmitEditing={save}
/> />
<IconButton <IconButton
icon="add" icon="add"
@ -183,7 +184,7 @@ export default function EditSets() {
mode="outlined" mode="outlined"
icon="save" icon="save"
style={{ margin: MARGIN }} style={{ margin: MARGIN }}
onPress={handleSubmit} onPress={save}
> >
Save Save
</Button> </Button>