Replace toggleDataPointSelection with direct SVG opacity manipulation
for reliable visual feedback when hovering legend or table rows.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ApexCharts legendMouseOver event is unreliable for donut charts. Use custom
HTML legend items with direct mouseenter/mouseleave handlers that sync
highlighting between legend, chart slices, and the category table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
legendMouseOver receives (chartContext, config), not three parameters.
The extra parameter was shifting config to undefined.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Place edit and delete buttons side by side in payees table using flex.
Debounce chart highlight clear to persist during tooltip hover transitions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add legendMouseOver/legendMouseOut events to sync legend hover
with the category table highlighting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move account selector to date range bar and apply filtering to all four
report types. Add bidirectional hover highlighting between spending donut
chart and category table. Fix donut data label readability with white text.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change default date range from Last 3 Months to This Month. Add Last Month
option. Apply theme-aware colors to chart axis labels, legends, and data
labels so they're readable in both light and dark modes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wrap each report API call in a fetchReport helper that catches errors
individually and returns null, treating 4xx responses as empty data
instead of surfacing an error message to the user.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add interactive reports dashboard with 4 chart types (spending by
category donut, income vs expense bar, net worth area, cash flow bar)
using ApexCharts, date range presets, and account filtering. Add
investment portfolio view with holdings table, allocation chart, and
gain/loss color coding. Includes TypeScript types and API services.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>