refactor: replace generateTenantCode boolean with tenantPaymentMethod enum

- Replace generateTenantCode boolean field with tenantPaymentMethod enum ("none" | "iban" | "revolut")
- Update LocationEditForm to use dropdown select instead of toggle for payment method selection
- Consolidate multiple useState hooks into single formValues state object
- Change from defaultValue to controlled components with value/onChange pattern
- Add hidden inputs to preserve tenant data when payment method is not selected
- Update validation logic to check tenantPaymentMethod === "iban"
- Update ViewLocationCard to use new tenantPaymentMethod field
- Add Croatian translations for new dropdown options

This provides better scalability for adding future payment methods and improves form state management.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-24 15:34:59 +01:00
parent ead7451170
commit 3e581d8878
5 changed files with 108 additions and 74 deletions

View File

@@ -142,10 +142,17 @@
"notes-placeholder": "bilješke",
"tenant-payment-instructions-legend": "UPUTE ZA UPLATU",
"tenant-payment-instructions-code-info": "Kada podstanar otvori poveznicu na obračun za zadani mjesec aplikacija mu može prikazati upute za uplatu troškova režija na vaš IBAN, kao i 2D koji može skenirati.",
"tenant-payment-instructions-code-info": "Kada podstanar otvori poveznicu na obračun za zadani mjesec aplikacija mu može prikazati upute za uplatu troškova režija na vaš IBAN ili Revolut.",
"tenant-payment-instructions-method--legend": "Podstanaru prikaži upute za uplatu:",
"tenant-payment-instructions-method--none": "ne prikazuj upute za uplatu",
"tenant-payment-instructions-method--iban": "uplata na IBAN",
"tenant-payment-instructions-method--revolut": "uplata na Revolut",
"tenant-payment-instructions-toggle-label": "podstanaru prikaži upute za uplatu",
"tenant--payment-instructions-note": "VAŽNO: za ovu funkcionalnost potrebno je otvoriti postavke aplikacije, te unijeti vaše ime i IBAN.",
"iban-payment--form-title": "Informacije za uplatu na IBAN",
"iban-payment--tenant-name-label": "Ime i prezime podstanara",
"iban-payment--tenant-name-placeholder": "unesite ime i prezime podstanara",
"iban-payment--tenant-street-label": "Ulica podstanara i kućni broj",
@@ -159,9 +166,9 @@
"utility-bill-forwarding-strategy-label": "Režije proslijedi kada...",
"utility-bill-forwarding-when-payed": "sve stavke označim kao plaćene",
"utility-bill-forwarding-when-attached": "za sve stavke priložim račun (PDF)",
"auto-rent-notification-legend": "AUTOMATSKA OBAVIJEST O NAJAMNINI",
"auto-rent-notification-legend": "Automatska obavjest O najamnini",
"auto-rent-notification-info": "Ova opcija omogućuje automatsko slanje mjesečnog računa za najamninu podstanaru putem emaila na zadani dan u mjesecu.",
"auto-rent-notification-toggle-label": "pošalji obavijest o najamnini",
"auto-rent-notification-toggle-label": "pošalji obavjest o najamnini",
"rent-due-day-label": "Dan u mjesecu kada dospijeva najamnina",
"rent-amount-label": "Iznos najamnine",
"rent-amount-placeholder": "unesite iznos najamnine",