BillTracker/client
null 80fb0043b6 refactor(ts): convert ImportSpreadsheetSection to TypeScript — data/ dir complete
The XLSX importer (workbook parse → per-row decision tree → bulk actions →
bill-history grouped import). Typed PreviewRow/Decision/BillGroup/ImportDetail
and the merged BillImportResult accumulator; fixed Date subtraction in the
duplicate-date sort to use getTime(). Dropped two unused imports (CountPill/fmt)
the original .jsx never used. Trimmed unused eslint-disable directives.

This completes the entire client/components/data/ directory (14 files) → .tsx.
typecheck 0, lint 0 errors, build green.
2026-07-04 21:56:04 -05:00
..
components refactor(ts): convert ImportSpreadsheetSection to TypeScript — data/ dir complete 2026-07-04 21:56:04 -05:00
contexts refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
hooks refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
lib refactor(ts): convert MobileTrackerRow to TSX (B5) 2026-07-04 19:36:01 -05:00
pages refactor(ts): convert CleanupPanel + UsersTable admin cards to TSX (B17) 2026-07-04 21:17:16 -05:00
public/img refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
App.tsx refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
api.ts feat(ts): type the shared Category API response (A4) 2026-07-03 22:27:08 -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.tsx refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
types.ts refactor(ts): convert bill-modal sub-components to TSX (B10) 2026-07-04 20:03:09 -05:00