BillTracker/client
null 4a76eb9b92 feat(tracker): optimistic pay/skip + toast.promise on syncs (M1/M2)
M1: marking a bill paid/unpaid flips the row instantly via local optimistic
state (cleared when fresh data arrives, rolled back on error) on both desktop
and mobile rows, instead of waiting for the server round-trip.

M2: bank sync (Tracker) and the bill-modal Sync use sonner toast.promise —
one toast transitioning loading -> done -> error, replacing the manual
spinner-flag + separate success/error toasts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 18:47:32 -05:00
..
components feat(tracker): optimistic pay/skip + toast.promise on syncs (M1/M2) 2026-07-03 18:47:32 -05:00
contexts theme correctness 2026-05-28 01:30:40 -05:00
hooks feat(tracker): live cross-query invalidation for the app shell (X3) 2026-07-03 18:19:30 -05:00
lib refactor(tracker): consolidate isPaidStatus + rowOutstanding + toast gap (T5) 2026-07-03 18:36:30 -05:00
pages feat(tracker): optimistic pay/skip + toast.promise on syncs (M1/M2) 2026-07-03 18:47:32 -05:00
public/img refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
App.jsx feat(banking): bank transactions ledger page with route, sidebar link, and API endpoint 2026-06-12 03:59:42 -05:00
api.js feat(data): "Erase my data" danger zone (Batch 5) 2026-07-03 15:21:07 -05:00
index.css feat(settings): safe-to-spend toggle, move notifications from Profile to Settings, fix dark-mode readability 2026-06-12 01:52:48 -05:00
main.jsx v0.24.3: Session fixes, activity log corrections, UI polish 2026-05-11 13:39:48 -05:00