diff --git a/components/expenses/ExpenseModal.tsx b/components/expenses/ExpenseModal.tsx index b16878a..4c275b6 100644 --- a/components/expenses/ExpenseModal.tsx +++ b/components/expenses/ExpenseModal.tsx @@ -137,6 +137,17 @@ export default function ExpenseModal( newExpenseDescription.value = event.currentTarget.value; fetchSuggestions(event.currentTarget.value); }} + onKeyDown={(event) => { + if (event.key === 'Enter') { + onClickSave( + formatInputToNumber(newExpenseCost.value), + newExpenseDescription.value, + newExpenseBudget.value, + newExpenseDate.value, + newExpenseIsRecurring.value, + ); + } + }} onFocus={() => { if (suggestions.value.length > 0) { showSuggestions.value = true; diff --git a/lib/data/expenses.ts b/lib/data/expenses.ts index ddf6f64..3e9b984 100644 --- a/lib/data/expenses.ts +++ b/lib/data/expenses.ts @@ -124,7 +124,7 @@ export async function getExpenseByName(userId: string, name: string) { export async function getExpenseSuggestions(userId: string, name: string) { const expenses = await db.query>( - sql`SELECT DISTINCT "description" FROM "bewcloud_expenses" WHERE "user_id" = $1 AND LOWER("description") ILIKE LOWER($2) ORDER BY "description" ASC`, + sql`SELECT "description" FROM "bewcloud_expenses" WHERE "user_id" = $1 AND LOWER("description") ILIKE LOWER($2) GROUP BY "description" ORDER BY LENGTH("description") ASC, "description" ASC`, [ userId, `%${name}%`,