Files
jorgecuadros-platform/apps/web/src/app/polizas/nuevo/page.tsx
T
rmancinasandClaude Opus 5 5e9cb12fba
Build and Push Images / Build jorgecuadros-web (push) Successful in 1m43s
Build and Push Images / Build jorgecuadros-api (push) Successful in 2m0s
feat(polizas): OCR capture for insurance policy PDFs
Mirrors the utility statement intake on the insurance side: a policy_ocr
batch/document pair of tables, a GMX parser, a matcher keyed on
Policy.policyNumber, and a "Captura" screen under /polizas that proposes
policy -> customer for staff to confirm.

Lifts the OCR seam out of StatementsModule into its own OcrModule so
PolicyOcrModule can inject OCR_PROVIDER without taking on the rest of
the statement pipeline; StatementsModule now imports it and binds
nothing itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 14:07:29 -07:00

23 lines
699 B
TypeScript

"use client";
import { Suspense } from "react";
import { AppShell } from "@/components/AppShell";
import { PolicyCaptura } from "@/components/PolicyCaptura";
/**
* Manual mode of the policy intake screen. Shares the tab wrapper with
* `/polizas/captura` (OCR mode) so staff can swap between the two without
* losing their place. Customer picker comes from the `?customerId=`
* / `?customerName=` query string — used by `/clientes/[id]` when staff
* creates a policy from a customer detail page.
*/
export default function NuevaPolizaPage() {
return (
<AppShell>
<Suspense fallback={null}>
<PolicyCaptura initialMode="manual" />
</Suspense>
</AppShell>
);
}