BillTracker/client/pages
null 8229d21ab8 refactor(ts): SubscriptionsPage → TypeScript (final .jsx page)
The last .jsx page — 0 remain under client/. Recurring-services view
typed: Subscription/SubSummary/Recommendation/CatalogMatch/SubTx local
types, useOptimistic<Subscription[]> typed reducer, virtualizer
FlatItem discriminated union, drag/move-controls via DragProps/
MoveControls, setQueryData<T> optimistic caches, local branded fmt.
Fixed daysUntil date subtraction (getTime), guarded optional .length
chains, cast api.* results at boundaries.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 23:48:06 -05:00
..
AboutPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
AdminPage.tsx refactor(ts): convert CleanupPanel + UsersTable admin cards to TSX (B17) 2026-07-04 21:17:16 -05:00
AnalyticsPage.tsx refactor(ts): AnalyticsPage → TypeScript (SVG charts + forecast); drop unused Skeleton import 2026-07-04 22:48:28 -05:00
BankTransactionsPage.tsx refactor(ts): BankTransactionsPage → TypeScript 2026-07-04 23:20:47 -05:00
BillsPage.tsx refactor(ts): BillsPage → TypeScript 2026-07-04 23:35:48 -05:00
CalendarPage.tsx refactor(ts): CalendarPage → TypeScript (money map + grid + cashflow + snowball glance) 2026-07-04 22:58:34 -05:00
CategoriesPage.tsx refactor(ts): CategoriesPage → TypeScript (category list + drag-reorder + expand) 2026-07-04 22:44:39 -05:00
DataPage.tsx refactor(ts): DataPage → TypeScript (section routing + data-section orchestration) 2026-07-04 22:21:48 -05:00
HealthPage.tsx refactor(ts): HealthPage → TypeScript + export makeBillDraft's SourceBill return 2026-07-04 22:19:39 -05:00
LoginPage.tsx refactor(ts): LoginPage → TypeScript (auth-mode/TOTP/change-pw/privacy flows) 2026-07-04 22:23:31 -05:00
NotFoundPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
PayoffPage.tsx refactor(ts): PayoffPage → TypeScript (debt payoff simulator) 2026-07-04 22:36:24 -05:00
PrivacyPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
ProfilePage.tsx refactor(ts): ProfilePage → TypeScript; widen AuthContext setUser to accept updaters 2026-07-04 22:53:51 -05:00
ReleaseNotesPage.tsx refactor(ts): convert content pages to TSX (B13) 2026-07-04 20:32:06 -05:00
RoadmapPage.tsx refactor(ts): RoadmapPage → TypeScript (issues board + dev activity log) 2026-07-04 22:25:35 -05:00
SettingsPage.tsx refactor(ts): SettingsPage → TypeScript (auto-save settings + tracker layout toggles) 2026-07-04 22:29:16 -05:00
SnowballPage.tsx refactor(ts): SnowballPage → TypeScript (debt attack order + projections + plans) 2026-07-04 23:12:57 -05:00
SpendingPage.tsx refactor(ts): SpendingPage → TypeScript 2026-07-04 23:29:39 -05:00
StatusPage.tsx refactor(ts): StatusPage → TypeScript (server-health dashboard, loose response shape) 2026-07-04 22:33:15 -05:00
SubscriptionCatalogPage.tsx refactor(ts): convert AdminPage + SubscriptionCatalogPage to TSX (B12) 2026-07-04 20:14:30 -05:00
SubscriptionsPage.tsx refactor(ts): SubscriptionsPage → TypeScript (final .jsx page) 2026-07-04 23:48:06 -05:00
SummaryPage.tsx refactor(ts): SummaryPage → TypeScript (React Query summary + drag-reorder expenses) 2026-07-04 22:41:25 -05:00
TrackerPage.tsx refactor(ts): TrackerPage → TypeScript (the home page) 2026-07-04 23:06:46 -05:00