From 1fd52727eaffdcfc1f438d33bb2a9fac7f36b4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vi=CC=81ctor=20Falco=CC=81n?= Date: Fri, 26 Jun 2026 19:51:45 +0200 Subject: [PATCH] feat(transactions): refine new transaction form layout and balance toggle - Move the account selector to the top of the create form - Hide the "Update account balance" checkbox for connected accounts and skip the balance update on submit for them - Show a -25.00 placeholder in the amount field --- .../edit-transaction-dialog.test.tsx | 26 ++++ .../transactions/edit-transaction-dialog.tsx | 117 ++++++++++-------- 2 files changed, 88 insertions(+), 55 deletions(-) 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')}