Commit Graph

127 Commits

Author SHA1 Message Date
Tyler fb2a98fc7a feat(parsers+api+ui+db): 999 ACK transaction set end-to-end (SP3 P3) 2026-06-20 08:03:37 -06:00
Tyler 2a853857b1 feat(parsers+api+ui): expose CARC-labeled CAS adjustments (SP3 P2) 2026-06-20 07:44:41 -06:00
Tyler 1de6e2e60b feat(frontend): /reconciliation page with two-column matching UI 2026-06-20 00:08:39 -06:00
Tyler 8412bdc090 feat(frontend): sidebar Reconciliation nav entry with badge count 2026-06-20 00:04:30 -06:00
Tyler 99c8635178 feat(frontend): render real adjustmentAmount on Remittances page 2026-06-20 00:03:56 -06:00
Tyler 35ffe31447 refactor(frontend): StatusBadge delegates to ClaimStateBadge; Claims uses API state 2026-06-20 00:03:23 -06:00
Tyler 5ddbbcfc2a feat(frontend): ClaimStateBadge primitive (7 states, same palette) 2026-06-20 00:02:36 -06:00
Tyler e8c251f9ca feat(frontend): useReconciliation hook with react-query invalidation cascade 2026-06-19 23:58:00 -06:00
Tyler 23ac7f6fda feat(frontend): add listUnmatched, matchRemit, unmatchClaim to api 2026-06-19 23:47:34 -06:00
Tyler d4a142aa83 feat(frontend): add ClaimState enum + Match/Unmatched types 2026-06-19 23:45:11 -06:00
Tyler 87cd51e1fc fix(frontend): replay row-flash on every refetch via dataUpdatedAt key
The previous static key={c.id} let React reuse the same <TableRow>
element across refetches, so animate-row-flash only played on
initial mount and on the first render of a brand-new claim_id.
Updated rows whose claim_id was unchanged never re-flashed.

Re-keying on `${c.id}-${dataUpdatedAt}` re-mounts the row on
every refetch (initial load, filter change, parse invalidation),
so the 1.2s accent-tint flash replays each time.

Also: README's 'Frontend unit tests (when added)' is stale — npm
test now exists and runs 3 passing tests.

hooks: add dataUpdatedAt: 0 to the !isConfigured fallback return
so the pages type-check.
2026-06-19 20:00:05 -06:00
Tyler 5c26d296be feat(frontend): refactor Upload page to use useParse hook 2026-06-19 19:46:12 -06:00
Tyler 7333f0f50e feat(frontend): refactor ActivityLog page to useActivity + primitives 2026-06-19 19:45:12 -06:00
Tyler 22b9eb59d2 feat(frontend): refactor Providers page to useProviders + primitives 2026-06-19 19:44:54 -06:00
Tyler deca199951 feat(frontend): refactor Remittances page to useRemittances + primitives 2026-06-19 19:44:28 -06:00
Tyler 70e7745912 feat(frontend): refactor Claims page to useClaims + primitives 2026-06-19 19:44:00 -06:00
Tyler d7bd061ee0 feat(frontend): add 6 query/mutation hooks (batches, claims, remits, providers, activity, parse) 2026-06-19 19:41:42 -06:00
Tyler 3ddf962da2 feat(frontend): add 6 GET methods (batches, batch, claims, remits, providers, activity) + tests 2026-06-19 19:41:07 -06:00
Tyler 585548e046 feat(frontend): add 1px refetch indicator to Layout 2026-06-19 19:39:33 -06:00
Tyler 6af787614e feat(frontend): add Pagination primitive 2026-06-19 19:37:01 -06:00
Tyler daccb2d223 feat(frontend): add FilterChips primitive 2026-06-19 19:36:41 -06:00
Tyler 511230ec04 feat(frontend): add ErrorState primitive 2026-06-19 19:36:22 -06:00
Tyler fb6730813f feat(frontend): add EmptyState primitive 2026-06-19 19:35:59 -06:00
Tyler f094b250b5 feat(frontend): add Skeleton primitive with scanline-shimmer 2026-06-19 19:35:43 -06:00
Tyler ebd5566d7a feat(frontend): wrap App in QueryClientProvider 2026-06-19 19:35:11 -06:00
Tyler d0411b8186 fix(store): spec compliance fixes per review 2026-06-19 19:13:52 -06:00
Tyler 3d3bdfb07c feat(frontend): wire Vite app to FastAPI parser with NDJSON streaming + Upload page 2026-06-19 17:31:59 -06:00