From cd68df86f1a87fcedafbe60c25b810d9dd8b4e28 Mon Sep 17 00:00:00 2001 From: Dustin Do Date: Thu, 19 Sep 2024 12:00:51 +0700 Subject: [PATCH] fix(mobile): unset default bugdet --- apps/mobile/app/(app)/budget/[budgetId]/edit.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/mobile/app/(app)/budget/[budgetId]/edit.tsx b/apps/mobile/app/(app)/budget/[budgetId]/edit.tsx index 64be2826..de8f6d5f 100644 --- a/apps/mobile/app/(app)/budget/[budgetId]/edit.tsx +++ b/apps/mobile/app/(app)/budget/[budgetId]/edit.tsx @@ -22,7 +22,7 @@ export default function EditBudgetScreen() { const { i18n } = useLingui() const { budgetId } = useLocalSearchParams<{ budgetId: string }>() const { budget } = useBudget(budgetId!) - const { mutateAsync } = useUpdateBudget() + const { mutateAsync: updateUpdate } = useUpdateBudget() const { mutateAsync: mutateDelete } = useDeleteBudget() const { setDefaultBudgetId, defaultBudgetId } = useUserMetadata() const { sideOffset, ...rootProps } = useModalPortalRoot() @@ -68,10 +68,14 @@ export default function EditBudgetScreen() { ) const handleUpdate = async ({ isDefault, ...data }: BudgetFormValues) => { - if (isDefault) { - await setDefaultBudgetId(budget?.id) + if (isDefault && defaultBudgetId !== undefined) { + // only set if changed + setDefaultBudgetId(budget?.id) + } else if (defaultBudgetId === budget?.id) { + // unset default budget + setDefaultBudgetId(undefined) } - mutateAsync({ + updateUpdate({ data: data, id: budget?.id!, }).catch(() => {