diff --git a/resources/js/components/transactions/edit-transaction-dialog.test.tsx b/resources/js/components/transactions/edit-transaction-dialog.test.tsx index bd4fcccb..d4814261 100644 --- a/resources/js/components/transactions/edit-transaction-dialog.test.tsx +++ b/resources/js/components/transactions/edit-transaction-dialog.test.tsx @@ -222,9 +222,35 @@ describe('EditTransactionDialog', () => { onOpenChange={vi.fn()} onSuccess={vi.fn()} mode="create" + initialAccountId="account-1" />, ); expect(screen.getByRole('checkbox')).toBeChecked(); }); + + it('hides "update account balance" for a connected account', () => { + const connectedAccount = { + ...checkingAccount, + id: 'account-connected', + banking_connection_id: 'connection-1', + }; + + render( + , + ); + + expect(screen.queryByRole('checkbox')).not.toBeInTheDocument(); + }); }); diff --git a/resources/js/components/transactions/edit-transaction-dialog.tsx b/resources/js/components/transactions/edit-transaction-dialog.tsx index 9a88590f..1dcf4f9f 100644 --- a/resources/js/components/transactions/edit-transaction-dialog.tsx +++ b/resources/js/components/transactions/edit-transaction-dialog.tsx @@ -354,7 +354,11 @@ export function EditTransactionDialog({ ? finalLabelIds : undefined, }, - { updateBalance: updateAccountBalance }, + { + updateBalance: selectedAccount.banking_connection_id + ? false + : updateAccountBalance, + }, ); const updatedCategory = finalCategoryId @@ -523,6 +527,42 @@ export function EditTransactionDialog({
+ {mode === 'create' && ( +
+ + {__('Account')} + + +
+ )} +
-
- - handleUpdateBalanceChange( - checked === true, - ) - } - disabled={isSubmitting} - /> + {!selectedAccount?.banking_connection_id && ( +
+ + handleUpdateBalanceChange( + checked === true, + ) + } + disabled={isSubmitting} + /> - - {__('Update account balance')} - -
+ + {__('Update account balance')} + +
+ )} ) : (
@@ -720,42 +763,6 @@ export function EditTransactionDialog({ )}
- {mode === 'create' && ( -
- - {__('Account')} - - -
- )} -
{__('Category')}