BillTracker/client/components
null 03009e2a83 refactor(client): de-duplicate parseUtc + settingEnabled to lib/utils (plan A2/A3)
- Extract parseUtc (was copy-pasted in 4 files) and settingEnabled (3 copies,
  one named settingsBool) into client/lib/utils.ts as the single source.
- Replace all local copies with the shared import.
- Add tracker_show_safe_to_spend to the tracker's local settings defaults so it
  matches SettingsPage's list (behavior unchanged; aligns the two sources).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 14:38:12 -05:00
..
admin refactor(client): de-duplicate parseUtc + settingEnabled to lib/utils (plan A2/A3) 2026-07-05 14:38:12 -05:00
bill-modal refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
data refactor(client): de-duplicate parseUtc + settingEnabled to lib/utils (plan A2/A3) 2026-07-05 14:38:12 -05:00
layout refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
snowball refactor(ts): SnowballPage → TypeScript (debt attack order + projections + plans) 2026-07-04 23:12:57 -05:00
tracker refactor(tracker): remove dead code and unreferenced files (plan A1) 2026-07-05 14:35:13 -05:00
transactions refactor(ts): convert transactions/ + snowball/ dirs to TSX (B14) 2026-07-04 20:39:30 -05:00
ui refactor(tracker): remove dead code and unreferenced files (plan A1) 2026-07-05 14:35:13 -05:00
BillHistoricalImportDialog.tsx refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
BillMerchantRules.tsx refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
BillModal.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
BillRulesManager.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
BillsTableInner.tsx refactor(ts): BillHistoricalImportDialog + BillsTableInner → TypeScript 2026-07-04 22:04:55 -05:00
CalendarFeedManager.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
CommandPalette.tsx refactor(ts): CommandPalette → TypeScript (typed Command + Bill results) 2026-07-04 22:09:36 -05:00
ErrorBoundary.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
IncomeBreakdownModal.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
MarkdownText.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
MobileBillRow.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
PageLoader.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
PageTransition.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
RecentlyDeletedBillsDialog.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
ReleaseNotesDialog.tsx refactor(ts): convert SummaryCard + ReleaseNotesDialog to TSX (B9) 2026-07-04 19:54:40 -05:00
SearchFilterPanel.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
StatusBadge.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
SubscriptionCatalogSection.tsx refactor(ts): SubscriptionCatalogSection → TypeScript 2026-07-04 22:12:49 -05:00
SummaryCard.tsx refactor(ts): convert SummaryCard + ReleaseNotesDialog to TSX (B9) 2026-07-04 19:54:40 -05:00