BillTracker/client
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
..
components fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
contexts refactor(ts): convert all UI primitives + ThemeContext to TSX (B2) 2026-07-03 22:57:22 -05:00
hooks refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00
lib fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
pages refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -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 refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -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): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00