BillTracker/client/components
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
..
admin fix(bank-sync): admin config, matching, and worker updates 2026-06-07 19:41:17 -05:00
bill-modal refactor(bill-modal): extract TemplateSection (BM2, 7/n) 2026-07-03 19:23:57 -05:00
data fix(client): resolve all 13 exhaustive-deps warnings (R2b) 2026-07-03 19:47:14 -05:00
layout feat(nav): surface Data in the primary app menu (IMP-IA-01) 2026-07-03 12:50:07 -05:00
snowball refactor(client): single source of truth for money formatting (IMP-CODE-01) 2026-07-03 12:46:22 -05:00
tracker refactor(tracker): shared useTogglePaid mutation hook — finish Tracker mutations (F1) 2026-07-03 21:18:18 -05:00
transactions refactor(client): single source of truth for money formatting (IMP-CODE-01) 2026-07-03 12:46:22 -05:00
ui fix(client): resolve all 13 exhaustive-deps warnings (R2b) 2026-07-03 19:47:14 -05:00
BillHistoricalImportDialog.jsx fix: historical import loading state, remove stray catalog export 2026-06-06 23:17:08 -05:00
BillMerchantRules.jsx refactor(client): single source of truth for money formatting (IMP-CODE-01) 2026-07-03 12:46:22 -05:00
BillModal.jsx refactor(client): remove orphaned dead logic flagged by ESLint (R2c) 2026-07-03 19:51:21 -05:00
BillRulesManager.jsx feat: bill rules manager page, merchant re-normalization, match suggestion scoring fix, cleanup pruning 2026-06-04 20:45:11 -05:00
BillsTableInner.jsx refactor(client): single source of truth for money formatting (IMP-CODE-01) 2026-07-03 12:46:22 -05:00
CalendarFeedManager.jsx fix(ui): calendar settings improvements 2026-06-07 16:52:50 -05:00
CommandPalette.jsx feat(data): actionable badges, health dots, at-a-glance stats, palette links (Batch 2) 2026-07-03 15:05:25 -05:00
ErrorBoundary.jsx v0.19.2: add React Error Boundaries for crash recovery 2026-05-09 18:33:02 -05:00
IncomeBreakdownModal.jsx refactor(client): single source of truth for money formatting (IMP-CODE-01) 2026-07-03 12:46:22 -05:00
MarkdownText.jsx initial commit 2026-05-03 19:51:57 -05:00
MobileBillRow.jsx refactor(client): remove orphaned dead logic flagged by ESLint (R2c) 2026-07-03 19:51:21 -05:00
PageLoader.jsx v0.20.1: code splitting, version badge on roadmap, roadmap nav link 2026-05-09 22:01:19 -05:00
PageTransition.jsx chore(client): update PageTransition spacing 2026-06-09 20:51:32 -05:00
RecentlyDeletedBillsDialog.jsx feat(bills): "Recently deleted" restore view for the 30-day window (IMP-UX-01) 2026-07-03 12:56:45 -05:00
ReleaseNotesDialog.jsx 0.34.3 2026-05-31 15:06:10 -05:00
SearchFilterPanel.jsx fix(tracker): search filter and bucket improvements 2026-06-07 17:33:31 -05:00
StatusBadge.jsx style: stronger late/missed payment visibility 2026-05-28 23:42:46 -05:00
SubscriptionCatalogSection.jsx feat: dedicated subscription catalog page, evidence badges, price display in recommendations 2026-06-06 20:44:54 -05:00
SummaryCard.jsx style: global readability/theme pass 2026-05-28 23:18:14 -05:00