BillTracker/client/hooks
null a0a8579a08 refactor(tracker): shared useTogglePaid mutation hook — finish Tracker mutations (F1)
Toggle paid/unpaid was duplicated across the desktop and mobile rows (optimistic
flip + Undo/paid toasts + refresh). Extracted into a shared useTogglePaid()
React Query mutation hook: the caller keeps the instant local optimistic flip,
the hook rolls it back on error and invalidates the tracker/badge caches on
settle. isPending replaces the desktop row's local loading state (badge spinner
+ un-pay confirm dialog). With useQuickPay (P3), both core Tracker write actions
are now idiomatic useMutation hooks living in one place.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 21:18:18 -05:00
..
useAuth.jsx fix(client): resolve all 13 exhaustive-deps warnings (R2b) 2026-07-03 19:47:14 -05:00
useAutoSave.js feat(settings): auto-save preferences with live save status (batch 0.39.0) 2026-06-12 02:08:42 -05:00
useAutoSave.test.jsx feat(settings): auto-save preferences with live save status (batch 0.39.0) 2026-06-12 02:08:42 -05:00
usePaymentActions.js refactor(tracker): shared useTogglePaid mutation hook — finish Tracker mutations (F1) 2026-07-03 21:18:18 -05:00
useQueries.js feat(tracker): prefetch adjacent month on nav hover for instant switching (P2) 2026-07-03 20:58:23 -05:00
useSearchPanelPreference.js feat: search filter panel component, search preference persistence, page integration 2026-06-07 01:28:35 -05:00