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>
23 lines
699 B
TypeScript
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>
|
|
);
|
|
}
|