## Summary Add a labeling system for transactions that differs from categories in that labels are ephemeral and created on-the-fly when assigned (no pre-creation required). A transaction can have multiple labels (many-to-many relationship), and labels can be used for filtering in the transaction table and as actions in automation rules. <img width="1372" height="484" alt="image" src="https://github.com/user-attachments/assets/fd342b11-dafb-44ed-b818-578e1ea856e6" /> <img width="1373" height="613" alt="image" src="https://github.com/user-attachments/assets/aa5cfb8b-50b7-4101-a872-54904924f234" /> <img width="1035" height="594" alt="image" src="https://github.com/user-attachments/assets/ffa946b2-b01f-496b-8cb8-ab55ab5b79ed" /> ## Changes ### Backend (Laravel) - Add `labels` table with user_id, name, color, and soft deletes - Add `label_transaction` pivot table for transaction-label many-to-many - Add `automation_rule_labels` pivot table for automation rule-label many-to-many - Create Label model with relationships to User, Transaction, and AutomationRule - Add LabelController for CRUD operations (returns JSON for on-the-fly creation) - Add LabelSyncController for frontend sync - Add LabelPolicy for authorization - Update TransactionController to handle bulk label updates - Update AutomationRuleController to handle label actions - Add validation for label_ids in transactions and automation rules ### Frontend (React/TypeScript) - Add Label type and color utilities - Add labels table to IndexedDB (Dexie version 6) - Create label-sync service with findOrCreate functionality - Create LabelCombobox component with multi-select and create-on-type - Add labels column to transactions table - Add labels filter to transaction filters - Add bulk label assignment in bulk actions bar - Add labels action in create automation rule dialog - Update rule engine to include labels in evaluation results ## Testing - 11 feature tests for label CRUD - 3 tests for label sync - All 241 feature tests pass ## Screenshots N/A - UI changes can be reviewed in browser |
||
|---|---|---|
| .. | ||
| account.ts | ||
| automation-rule.ts | ||
| balance-import.ts | ||
| category.ts | ||
| import.ts | ||
| index.d.ts | ||
| label.ts | ||
| pricing.ts | ||
| transaction.ts | ||
| uuid.ts | ||
| vite-env.d.ts | ||