1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-20 13:49:39 +02:00
Maybe/app/javascript/controllers/transaction_form_controller.js
Diego Gasparis Escobedo 71bc51ca15
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
Fix: Filter categories by transaction type in forms (#2082)
Changed transaction form to only display relevant categories based on transaction type (income or expense), improving usability and preventing misclassification. Created a shared transaction type tabs component for consistent navigation between expense, income, and transfer forms, providing a better user experience and reducing code duplication.

Signed-off-by: Zach Gollwitzer <zach@maybe.co>
Co-authored-by: Zach Gollwitzer <zach@maybe.co>
2025-04-25 10:18:10 -04:00

22 lines
752 B
JavaScript

import {Controller} from "@hotwired/stimulus"
export default class extends Controller {
static targets = ["expenseCategories", "incomeCategories"]
connect() {
this.updateCategories()
}
updateCategories(event) {
const natureField = this.element.querySelector('input[name="account_entry[nature]"]:checked')
const natureValue = natureField ? natureField.value : 'outflow'
if (natureValue === 'inflow') {
this.expenseCategoriesTarget.classList.add('hidden')
this.incomeCategoriesTarget.classList.remove('hidden')
} else {
this.expenseCategoriesTarget.classList.remove('hidden')
this.incomeCategoriesTarget.classList.add('hidden')
}
}
}