diff --git a/resources/js/components/app-logo-icon.tsx b/resources/js/components/app-logo-icon.tsx
index 222232f6..51c178a8 100644
--- a/resources/js/components/app-logo-icon.tsx
+++ b/resources/js/components/app-logo-icon.tsx
@@ -22,7 +22,7 @@ export default function AppLogoIcon({
const showBirdhouse = !isKeySet || isPrivacyModeEnabled;
if (!animated) {
-
+ ;
}
return (
diff --git a/resources/js/components/transactions/transaction-columns.tsx b/resources/js/components/transactions/transaction-columns.tsx
index d2a19583..186f0519 100644
--- a/resources/js/components/transactions/transaction-columns.tsx
+++ b/resources/js/components/transactions/transaction-columns.tsx
@@ -130,8 +130,7 @@ export function createTransactionColumns({
header: 'Account',
meta: {
label: 'Account',
- cellClassName:
- '!min-w-[125px] whitespace-normal',
+ cellClassName: '!min-w-[125px] whitespace-normal',
},
cell: ({ row }) => {
const transaction = row.original;
diff --git a/resources/js/components/ui/amount-input.tsx b/resources/js/components/ui/amount-input.tsx
index 264ea9be..3f3572a7 100644
--- a/resources/js/components/ui/amount-input.tsx
+++ b/resources/js/components/ui/amount-input.tsx
@@ -108,6 +108,13 @@ export const AmountInput = React.forwardRef(
setDisplayValue(e.target.value);
};
+ const handleKeyDown = (e: React.KeyboardEvent) => {
+ if (e.key === 'Enter') {
+ const valueInCents = parseInputValue(displayValue);
+ onChange(valueInCents);
+ }
+ };
+
const currencySymbol = getCurrencySymbol(currencyCode);
return (
@@ -124,6 +131,7 @@ export const AmountInput = React.forwardRef(
onChange={handleChange}
onFocus={handleFocus}
onBlur={handleBlur}
+ onKeyDown={handleKeyDown}
placeholder={placeholder}
disabled={disabled}
required={required}
diff --git a/tests/Browser/AmountInputTest.php b/tests/Browser/AmountInputTest.php
index be056ab9..846b62c0 100644
--- a/tests/Browser/AmountInputTest.php
+++ b/tests/Browser/AmountInputTest.php
@@ -72,3 +72,34 @@ it('can create a transaction with amount input', function () {
'amount' => 12345,
]);
})->skip('Requires browser encryption key setup');
+
+it('formats amount when pressing enter', function () {
+ $user = User::factory()->onboarded()->create();
+ $category = Category::factory()->create(['user_id' => $user->id]);
+ $account = Account::factory()->create(['user_id' => $user->id]);
+
+ actingAs($user);
+
+ $page = visit('/transactions');
+
+ $page->assertSee('Transactions')
+ ->click('Add Transaction')
+ ->wait(1)
+ ->fill('description', 'Test Transaction Enter')
+ ->click('Select Account')
+ ->wait(0.5)
+ ->click($account->name)
+ ->click('Select Category')
+ ->wait(0.5)
+ ->click($category->name)
+ ->fill('#amount', '99.99')
+ ->press('Enter')
+ ->wait(2)
+ ->assertNoJavascriptErrors();
+
+ $this->assertDatabaseHas('transactions', [
+ 'user_id' => $user->id,
+ 'description' => 'Test Transaction Enter',
+ 'amount' => 9999,
+ ]);
+})->skip('Requires browser encryption key setup');