import { acquisitionOperationChoices, createAcquisitionRightLink, linkedOperationRight, linkedBeverageDeductionRight, type AcquisitionRightLink, } from '@/lib/iva-acquisition-right'; import type { Acquisition } from '@/lib/iva-acquisitions'; export function AcquisitionOperationLink({ draft, row, onChange, }: { draft: Record; row: Acquisition; onChange: (patch: Partial) => void; }) { const choices = acquisitionOperationChoices(draft), link = row.deductionLink; const adopt = (id: string) => onChange({ deductionLink: createAcquisitionRightLink(draft, id) }); const patch = (value: Partial) => { if (link) onChange({ deductionLink: { ...link, ...value } }); }; const result = link ? row.bc?.expense === 'beverages' && row.bc.facts.beverageSpecial === 'yes' && ['deduction', 'refund'].includes(row.bc.beveragePath) ? linkedBeverageDeductionRight( draft, link, row.bc.facts.notCoastalFishing === 'yes', ) : linkedOperationRight(draft, link) : null; return (
Aquisição → direito à dedução — L2-A

Reutilize a classificação existente. A ligação conserva montantes, documento e escolhas da aquisição; não cria outra compra. Importações, despesas especiais e afectação parcial conservam enquadramento próprio.

{choices.length === 1 && !link ? ( ) : ( )} {!choices.length && (

Não há operação classificada nesta oportunidade. A compra e o histórico permanecem disponíveis.

)} {link && ( <>

{row.bc?.beveragePath === 'refund' && result?.status === 'eligible' ? 'Condições da operação13(2) identificadas;via de restituição escolhida,sem dedução desta parcela.' : result?.reason}

{result?.source} {result?.status === 'eligible' && ( )} {result?.status === 'indeterminate' && choices.some((c) => c.id === link.operationId) && ( )} )}
); }