fix: purchase split rebalancing and input focus issues

- Add onBlur handler to Input component for rebalancing on blur
- Rewrite rebalancePurchaseSplit to calculate delta vs total and distribute
- Extract ParticipantSplitInputs component with proper SolidJS reactivity
- Button shows 'Balance' when validation fails, 'Save' when valid
- Add i18n keys for purchaseBalanceAction and purchaseRebalanceAction
This commit is contained in:
2026-03-13 10:40:42 +04:00
parent 588174fa52
commit 31dd1dc2ee
4 changed files with 303 additions and 190 deletions

View File

@@ -159,6 +159,8 @@ export const dictionary = {
paymentEditorBody: 'Review the payment record in one focused editor.',
deletingPayment: 'Deleting payment…',
purchaseSaveAction: 'Save purchase',
purchaseBalanceAction: 'Balance',
purchaseRebalanceAction: 'Rebalance',
purchaseDeleteAction: 'Delete',
deletingPurchase: 'Deleting purchase…',
savingPurchase: 'Saving purchase…',
@@ -460,6 +462,8 @@ export const dictionary = {
paymentEditorBody: 'Проверь оплату в отдельном редакторе.',
deletingPayment: 'Удаляем оплату…',
purchaseSaveAction: 'Сохранить покупку',
purchaseBalanceAction: 'Сбалансировать',
purchaseRebalanceAction: 'Перераспределить',
purchaseDeleteAction: 'Удалить',
deletingPurchase: 'Удаляем покупку…',
savingPurchase: 'Сохраняем покупку…',