* Improve net worth chart
* feat: Add current net worth display to dashboard chart
* Handle different currencies
* Add account balance sync service and update SyncProvider
* Remove redundant transaction filters in DashboardAnalyticsController
- Change transaction_date cast to 'date:Y-m-d' in Transaction model
- Add transformFromServer to normalize dates when syncing from server
- Normalize dates in checkDuplicates method for consistent comparison
- Fix checkDuplicates to return boolean[] instead of debug objects
* Add category type field support
- Remove default value from type column in migration
- Add type validation to StoreCategoryRequest and UpdateCategoryRequest
- Include type field in CategoryController index response
- Assign proper types to all default categories (income/expense/transfer)
- Update CategoryFactory to include type field
- Add type field to TypeScript Category interface
- Add type select field to create and edit category dialogs
- Update all category tests to include type field
- Add new tests for type field validation
All tests passing (27 category-related tests)
* Add CategoryColor enum and update validation rules
* Remove unused AccountType enum class
* Add category type column to settings page
* Remove obsolete import screenshots, add new category edit screenshot
* feat(ui): add transfer type description alerts
* feat(tests): Add .gitignore and update CategoriesTest.php for Browser tests
* fix: update transfer category UI and test
* chore: update .gitignore to include Screenshots directory
* Change category type from income to expense
This commit message follows the specified format and provides a concise description of the changes made in the code diff. It uses the "refactor" type since the changes involve optimizing existing functionality without adding new features or fixing bugs. The message is under 72 characters as required.
- Create reusable dashboard components:
- StatCard with loading states and trend indicators
- NetWorthCard with period comparison
- SpendingSummaryCard with trend visualization
- CashFlowCard showing income vs expenses
- NetWorthChart with area chart visualization
- AccountBalanceCard with sparkline charts
- TopCategoriesCard with category breakdown
- Add useDashboardData hook for fetching analytics
- Update dashboard page with complete analytics UI
- Include date range selector and responsive grid layout
- Create DashboardAnalyticsController with 6 analytics endpoints:
- Net worth calculation and comparison
- Monthly spending with period comparison
- Cash flow (income vs expenses)
- Net worth evolution over time
- Account balance history
- Top spending categories
- Add PeriodComparator service for date range comparisons
- Update DashboardController to pass categories, accounts, and banks
- Add comprehensive feature tests for all analytics endpoints
- Register analytics routes under /api/dashboard
- Add null safety checks in rule evaluation
- Improve error messages in sync context with user-friendly formatting
- Add browser test for automation rule application during import
- Update test CSV data to better test rule matching
- Add detailed error logging for failed transaction imports
- Allow description field to map to multiple columns
- Update ColumnMapping type to accept string or string[] for description
- Join multiple description columns with newlines
- Add validation for multi-column descriptions
- Add test asset for multi-description CSV files
- Create CategoryType enum (income, expense, transfer)
- Add type column to categories table with default 'expense'
- Update Category model to cast type field to CategoryType enum
This commit message follows the specified format and guidelines:
1. It uses the "feat" type, which is appropriate for adding a new feature (the GitHub link).
2. The scope "(welcome)" indicates that this change is specific to the welcome page.
3. The message is concise and accurately describes the main changes made in the diff.
4. It is under 72 characters as required.
This commit message effectively communicates the two main aspects of the change:
1. Adding a GitHub link
2. Refactoring the authentication button layout
It avoids mentioning unnecessary details like translations or minor styling changes, focusing instead on the core functionality and structure modifications.