Fix dev bug for navigation after adding a set

The previous code worked fine in production,
but gave a development error in the logs.
This commit is contained in:
Brandon Presley 2023-11-06 14:29:00 +13:00
parent 3d54f61a2c
commit 5d45d33572
1 changed files with 8 additions and 7 deletions

View File

@ -18,9 +18,12 @@ import {
TouchableRipple, TouchableRipple,
} from "react-native-paper"; } from "react-native-paper";
import AppInput from "./AppInput"; import AppInput from "./AppInput";
import { StackParams } from "./AppStack";
import ConfirmDialog from "./ConfirmDialog"; import ConfirmDialog from "./ConfirmDialog";
import StackHeader from "./StackHeader";
import { MARGIN, PADDING } from "./constants"; import { MARGIN, PADDING } from "./constants";
import { getNow, setRepo, settingsRepo } from "./db"; import { getNow, setRepo, settingsRepo } from "./db";
import { DrawerParams } from "./drawer-param-list";
import { emitter } from "./emitter"; import { emitter } from "./emitter";
import { fixNumeric } from "./fix-numeric"; import { fixNumeric } from "./fix-numeric";
import GymSet, { import GymSet, {
@ -29,15 +32,12 @@ import GymSet, {
GYM_SET_UPDATED, GYM_SET_UPDATED,
} from "./gym-set"; } from "./gym-set";
import Settings from "./settings"; import Settings from "./settings";
import StackHeader from "./StackHeader";
import { toast } from "./toast"; import { toast } from "./toast";
import { DrawerParams } from "./drawer-param-list";
import { StackParams } from "./AppStack";
export default function EditSet() { export default function EditSet() {
const { params } = useRoute<RouteProp<StackParams, "EditSet">>(); const { params } = useRoute<RouteProp<StackParams, "EditSet">>();
const { set } = params; const { set } = params;
const { goBack } = useNavigation<NavigationProp<DrawerParams>>(); const { navigate } = useNavigation<NavigationProp<DrawerParams>>();
const [settings, setSettings] = useState<Settings>({} as Settings); const [settings, setSettings] = useState<Settings>({} as Settings);
const [name, setName] = useState(set.name); const [name, setName] = useState(set.name);
const [reps, setReps] = useState(set.reps?.toString()); const [reps, setReps] = useState(set.reps?.toString());
@ -74,13 +74,14 @@ export default function EditSet() {
const first = await setRepo.findOne({ where: { name: value } }); const first = await setRepo.findOne({ where: { name: value } });
const milliseconds = const milliseconds =
(first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000; (first?.minutes ?? 3) * 60 * 1000 + (first?.seconds ?? 0) * 1000;
console.log(`${EditSet.name}.timer:`, { milliseconds });
if (milliseconds) NativeModules.AlarmModule.timer(milliseconds); if (milliseconds) NativeModules.AlarmModule.timer(milliseconds);
}, },
[settings] [settings]
); );
const notify = (value: Partial<GymSet>) => { const notify = (value: Partial<GymSet>) => {
if (!settings.notify) return goBack(); if (!settings.notify) return navigate("Home");
if ( if (
value.weight > set.weight || value.weight > set.weight ||
(value.reps > set.reps && value.weight === set.weight) (value.reps > set.reps && value.weight === set.weight)
@ -124,7 +125,7 @@ export default function EditSet() {
notify(newSet); notify(newSet);
if (typeof set.id !== "number") added(saved); if (typeof set.id !== "number") added(saved);
else emitter.emit(GYM_SET_UPDATED, saved); else emitter.emit(GYM_SET_UPDATED, saved);
goBack(); navigate("Home");
}; };
const changeImage = useCallback(async () => { const changeImage = useCallback(async () => {
@ -161,7 +162,7 @@ export default function EditSet() {
const remove = async () => { const remove = async () => {
await setRepo.delete(set.id); await setRepo.delete(set.id);
emitter.emit(GYM_SET_DELETED); emitter.emit(GYM_SET_DELETED);
goBack(); navigate("Home");
}; };
const openMenu = async () => { const openMenu = async () => {