BillTracker/client/components/tracker
null 0abe861928 feat(tracker): multi-select bulk pay/skip (plan C3)
- Add a leading selection checkbox to each desktop + mobile row, threaded from
  the page through TrackerBucket via an optional RowSelection prop (renders only
  when the page supplies a toggle handler).
- Page owns the selection Set; a sticky bottom action bar appears when ≥1 bill is
  checked: "N selected · Pay · Skip · Clear".
- Pay selected reuses the bulkPay item shape + Undo from "Pay all due".
- Skip selected fans out saveBillMonthlyState (no bulk endpoint; skip has no money
  effect) with Promise.allSettled, an aggregated "n skipped / m failed" toast, and
  an Undo that un-skips. Selection clears on month change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 14:56:34 -05:00
..
AutopaySuggestionActions.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -05:00
CashFlowCard.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -05:00
DriftInsightPanel.tsx refactor(ts): convert Drift + Overdue panels to TSX (B4) 2026-07-04 19:32:39 -05:00
FilterChip.tsx refactor(ts): convert tracker leaf components to TSX (B1) 2026-07-03 22:31:35 -05:00
LowerThisMonthButton.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
MobileTrackerRow.tsx feat(tracker): multi-select bulk pay/skip (plan C3) 2026-07-05 14:56:34 -05:00
NotesCell.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
OverdueCommandCenter.tsx refactor(tracker): remove dead code and unreferenced files (plan A1) 2026-07-05 14:35:13 -05:00
PaymentLedgerDialog.tsx fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
PaymentModal.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -05:00
PaymentProgress.tsx refactor(ts): convert tracker leaf components to TSX (B1) 2026-07-03 22:31:35 -05:00
StartingAmountsEditDialog.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -05:00
StatusBadge.tsx refactor(ts): convert tracker leaf components to TSX (B1) 2026-07-03 22:31:35 -05:00
SummaryCards.tsx refactor(ts): convert tracker leaf components to TSX (B1) 2026-07-03 22:31:35 -05:00
TrackerBucket.tsx feat(tracker): multi-select bulk pay/skip (plan C3) 2026-07-05 14:56:34 -05:00
TrackerRow.tsx feat(tracker): multi-select bulk pay/skip (plan C3) 2026-07-05 14:56:34 -05:00