useSpendingSummary + useSpendingTransactions (paginated via a page-keyed query with keepPreviousData) + useSpendingCategories + useCategoryGroups. Pagination is now setTxPage (query refetches on the new key); a same-page loadTransactions call invalidates to force a refresh. The editable budgets map seeds from the summary via an effect; optimistic budget/summary and categorize edits route through setQueryData wrappers; the R3 sequence guards are removed (React Query handles races). load* calls became invalidate wrappers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.jsx | ||
| api.js | ||
| index.css | ||
| main.jsx | ||