whisper-money/resources/js/components/budgets
Toni Grunwald dbec1c4c13
feat: add catch-all budgets (#527)
## Summary
Adds **catch-all budgets** — a budget flagged `is_catch_all` absorbs
every expense-category transaction not already claimed by another
(non-catch-all) budget, so out-of-budget spending is still tracked.

## Changes
- Migration: `is_catch_all` boolean (default false) on `budgets`.
- `Budget` model: fillable + boolean cast.
- `BudgetTransactionService`: a catch-all budget matches expense
transactions whose `category_id` is not claimed by any non-catch-all
budget; period assignment mirrors the same rule.
- `BudgetController`: supports the flag.

## Notes
- Pre-existing WIP committed as-is; CI is the validation gate.

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

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Víctor Falcón <victoor89@gmail.com>
2026-06-15 16:07:19 +00:00
..
budget-list-card.tsx feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00
budget-period-navigation.tsx feat(budgets): make budget title clickable with muted hover effect (#186) 2026-03-03 10:47:37 +00:00
budget-spending-chart.test.ts fix(budget): show today marker (#411) 2026-05-20 16:52:00 +01:00
budget-spending-chart.tsx fix(budget): show today marker (#411) 2026-05-20 16:52:00 +01:00
create-budget-dialog.test.tsx feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00
create-budget-dialog.tsx feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00
delete-budget-dialog.tsx feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
edit-budget-dialog.test.tsx feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00
edit-budget-dialog.tsx feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00