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