BillTracker/client/components/tracker
null c2097efc49 refactor(ts): convert TrackerRow + TrackerBucket to TSX (B6) — tracker/ dir done
The two largest tracker components. TrackerRow (726 ln): typed threshold/
optimistic-actual as branded Dollars, amount_suggestion/autopay_stats now real
@/types (AmountSuggestion/AutopayStats) with null-safe `stats?.` access,
querySelectorAll<HTMLElement> for keyboard nav, Date.now()-getTime() arithmetic,
drag-handler casts for the motion.tr TableRow. TrackerBucket: typed
dragPropsFor/moveControlsFor returns (DragProps/MoveControls), bulkPay result
cast, asDollars at every total's fmt boundary.

client/components/tracker/ is now 100% .tsx (18 components). typecheck 0, lint 0
errors (40 warns), build green, 48 client tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 19:42:26 -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
EditableCell.tsx refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -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 refactor(ts): convert MobileTrackerRow to TSX (B5) 2026-07-04 19:36:01 -05:00
MonthlyStateDialog.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -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(ts): convert Drift + Overdue panels to TSX (B4) 2026-07-04 19:32:39 -05:00
PaymentLedgerDialog.tsx refactor(ts): convert tracker dialogs + cards to TSX (B3) 2026-07-04 19:29:42 -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 refactor(ts): convert TrackerRow + TrackerBucket to TSX (B6) — tracker/ dir done 2026-07-04 19:42:26 -05:00
TrackerRow.tsx refactor(ts): convert TrackerRow + TrackerBucket to TSX (B6) — tracker/ dir done 2026-07-04 19:42:26 -05:00