feat(reports/cartes): new KPI dashboard sub-report with sparklines, top movers, budget adherence and seasonality (#97)
check.yml #196 -Commit
4c58b8bab8
pushed by
maximus
feat(reports/cartes): new KPI dashboard sub-report with sparklines, top movers, budget adherence and seasonality (#97)
check.yml #195 -Commit
4c58b8bab8
pushed by
maximus
feat(reports/cartes): new KPI dashboard sub-report with sparklines, top movers, budget adherence and seasonality (#97)
check.yml #194 -Commit
31765e6d17
pushed by
maximus
feat(reports/cartes): new KPI dashboard sub-report with sparklines, top movers, budget adherence and seasonality (#97)
check.yml #193 -Commit
31765e6d17
pushed by
maximus
refactor(reports/compare): unify MoM/YoY under one Actual-vs-actual mode with reference month picker (#96)
check.yml #192 -Commit
4116db4090
pushed by
maximus
refactor(reports/compare): unify MoM/YoY under one Actual-vs-actual mode with reference month picker (#96)
check.yml #191 -Commit
4116db4090
pushed by
maximus
docs: polish + changelog + ADR + legacy cleanup for reports refactor (#76)
check.yml #189 -Commit
8d5fab966a
pushed by
maximus
docs: polish + changelog + ADR + legacy cleanup for reports refactor (#76)
check.yml #188 -Commit
8d5fab966a
pushed by
maximus
feat: propagate right-click "add as keyword" to transactions page and highlights list (#75)
check.yml #187 -Commit
3b70abdb9e
pushed by
maximus
feat: propagate right-click "add as keyword" to transactions page and highlights list (#75)
check.yml #186 -Commit
3b70abdb9e
pushed by
maximus
feat: category zoom + secure AddKeywordDialog with context menu (#74)
check.yml #185 -Commit
62430c63dc
pushed by
maximus
feat: category zoom + secure AddKeywordDialog with context menu (#74)
check.yml #184 -Commit
62430c63dc
pushed by
maximus
feat: compare report — MoM / YoY / budget with view toggle (#73)
check.yml #183 -Commit
ff350d75e7
pushed by
maximus
feat: compare report — MoM / YoY / budget with view toggle (#73)
check.yml #182 -Commit
ff350d75e7
pushed by
maximus
feat: trends report — global flow + by category with view toggle (#72)
check.yml #181 -Commit
d06dd7a858
pushed by
maximus
feat: trends report — global flow + by category with view toggle (#72)
check.yml #180 -Commit
d06dd7a858
pushed by
maximus
feat: reports hub with highlights panel and detailed highlights page (#71)
check.yml #179 -Commit
ac9c8afc4a
pushed by
maximus
feat: reports hub with highlights panel and detailed highlights page (#71)
check.yml #178 -Commit
ac9c8afc4a
pushed by
maximus
refactor: split useReports into per-domain hooks + URL-bookmarked period (#70)
check.yml #177 -Commit
6a6a196467
pushed by
maximus
refactor: split useReports into per-domain hooks + URL-bookmarked period (#70)
check.yml #176 -Commit
6a6a196467
pushed by
maximus
refactor: remove pivot report, add sub-route skeletons and shared components (#69)
check.yml #175 -Commit
91430e994a
pushed by
maximus
refactor: remove pivot report, add sub-route skeletons and shared components (#69)
check.yml #174 -Commit
91430e994a
pushed by
maximus
docs: ADR 0006 + changelog + architecture for OAuth keychain (#82)
check.yml #172 -Commit
65bc7f5130
pushed by
maximus
docs: ADR 0006 + changelog + architecture for OAuth keychain (#82)
check.yml #171 -Commit
65bc7f5130
pushed by
maximus
feat: dismissable banner with session-storage memory (#81)
check.yml #170 -Commit
9a9d3c89b9
pushed by
maximus
feat: dismissable banner with session-storage memory (#81)
check.yml #169 -Commit
9a9d3c89b9
pushed by
maximus
feat: settings banner when OAuth tokens fall back to file store (#81)
check.yml #168 -Commit
3b1c41c48e
pushed by
maximus
feat: settings banner when OAuth tokens fall back to file store (#81)
check.yml #167 -Commit
3b1c41c48e
pushed by
maximus