BillTracker/client/hooks
null 1df4b1bf87 refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D)
Track C (auth): User lived in @/hooks/useAuth; moved it to @/types
(re-exported from useAuth for the 7 importers) and typed me/login/
totpChallenge/hasUsers, dropping those Admin/Login casts. Left the
single-consumer non-money casts (adminUsers, version/about/privacy/
health docs) and the optimistic-UI rewrite as deliberate low-value/
high-churn stops.

Track D: global 500 handler now emits code:'INTERNAL_ERROR' so an
unexpected error carries the same {error,code} field as structured 4xx.

typecheck/lint(0 err)/build/server-193 all green; probe 17/17.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:26:11 -05:00
..
useAuth.tsx refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00
useAutoSave.test.ts refactor(ts): useAutoSave test → .test.ts; completes components/hooks conversion 2026-07-04 22:14:09 -05:00
useAutoSave.ts refactor(ts): convert small hooks + version to TypeScript (TS8) 2026-07-03 22:01:30 -05:00
usePaymentActions.ts refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
useQueries.ts refactor(ts): type the subscriptions API responses (Track C) 2026-07-05 12:11:36 -05:00
useSearchPanelPreference.ts refactor(ts): convert small hooks + version to TypeScript (TS8) 2026-07-03 22:01:30 -05:00