diff --git a/EditPlan.tsx b/EditPlan.tsx index ab32730..91436ca 100644 --- a/EditPlan.tsx +++ b/EditPlan.tsx @@ -18,23 +18,27 @@ import {DAYS} from './time'; export default function EditPlan() { const {params} = useRoute>(); - const [days, setDays] = useState(params.plan.days.split(',')); + const {plan} = params; + const [days, setDays] = useState( + plan.days ? plan.days.split(',') : [], + ); const [workouts, setWorkouts] = useState( - params.plan.workouts.split(','), + plan.workouts ? plan.workouts.split(',') : [], ); const [names, setNames] = useState([]); const navigation = useNavigation>(); useFocusEffect( useCallback(() => { + console.log(`${EditPlan.name}.focus:`, {plan}); navigation.getParent()?.setOptions({ headerLeft: () => ( navigation.goBack()} /> ), headerRight: () => null, - title: params.plan.id ? 'Edit plan' : 'Create plan', + title: plan.id ? 'Edit plan' : 'Create plan', }); - }, [navigation, params.plan.id]), + }, [navigation, plan]), ); useEffect(() => { @@ -45,19 +49,19 @@ export default function EditPlan() { }, []); const save = useCallback(async () => { - console.log(`${EditPlan.name}.save`, {days, workouts, params}); + console.log(`${EditPlan.name}.save`, {days, workouts, plan}); if (!days || !workouts) return; const newWorkouts = workouts.filter(workout => workout).join(','); const newDays = days.filter(day => day).join(','); - if (!params.plan.id) await addPlan({days: newDays, workouts: newWorkouts}); + if (!plan.id) await addPlan({days: newDays, workouts: newWorkouts}); else await updatePlan({ days: newDays, workouts: newWorkouts, - id: params.plan.id, + id: plan.id, }); navigation.goBack(); - }, [days, workouts, params, navigation]); + }, [days, workouts, plan, navigation]); const toggleWorkout = useCallback( (on: boolean, name: string) => { @@ -116,6 +120,7 @@ export default function EditPlan() { {names.length === 0 ? ( ) : (