import React from "react" import { Leaf } from "lucide-react" export function RecetaDocumento({ receta }: { receta: any }) { if (!receta) return null return (
{/* Encabezado minimalista */}
AgroRecetas

N° de Receta

{receta.numero}

Fecha: {receta.fecha}

Datos Principales

Productor: {receta.productor?.nombre || '—'}
Establecimiento: {receta.establecimiento?.nombre || '—'}
Fecha: {receta.fecha}
Superficie Aplicable: {receta.superficie} ha
Prestador: {receta.prestador?.nombre || '—'}
Observación general: {receta.observaciones || '—'}
{(() => { // Check if it's the new format: all items share the same labor const isNewFormat = receta.items && receta.items.length > 0 && receta.items.every((it: any) => it.labor === receta.items[0].labor); if (isNewFormat) { const labor = receta.items[0].labor; const rinde = receta.items[0].rinde; const momento_dia = receta.items[0].momento_dia; const productos = receta.items[0].productos || []; const lotesText = receta.items.map((it: any) => `${it.lote?.nombre} (${it.lote?.superficie} ha)`).join(", "); const cultivosText = Array.from(new Set(receta.items.map((it: any) => it.cultivo?.nombre))).join(", "); return (

Labor a Aplicar: {labor} {labor === 'Cosecha' && rinde ? `(${rinde} qq/ha)` : ''}

Lotes: {lotesText}
Cultivo: {cultivosText}
Momento: {momento_dia || '—'}
{productos && productos.length > 0 ? (
{productos.map((producto: any, pIndex: number) => ( ))}
Producto Dosis Cantidad total
{producto.nombre_producto} {Number(producto.dosis)} {producto.unidad} {Number(producto.cantidad_total).toFixed(3)} {producto.unidad.split("/")[0]}
) : (

Sin productos asociados (Labor de {labor})

)}
); } // Legacy format (multiple different labors) return receta.items?.map((item: any, itemIndex: number) => (
0 ? 'border-t border-border' : ''}`}>

Labor #{itemIndex + 1}: {item.labor} {item.labor === 'Cosecha' && item.rinde ? `(${item.rinde} qq/ha)` : ''}

Lote: {item.lote?.nombre} ({item.lote?.superficie} ha)
Cultivo: {item.cultivo?.nombre}
Momento: {item.momento_dia || '—'}
{item.productos && item.productos.length > 0 ? (
{item.productos.map((producto: any, pIndex: number) => ( ))}
Producto Dosis Cantidad total
{producto.nombre_producto} {Number(producto.dosis)} {producto.unidad} {Number(producto.cantidad_total).toFixed(3)} {producto.unidad.split("/")[0]}
) : (

Sin productos asociados (Labor de {item.labor})

)}
)); })()}

Condiciones de Aplicación

Caudal: {receta.caudal || '—'} litros/ha
Viento: {receta.viento_direccion || '—'}
Intensidad: {receta.viento_intensidad || '—'}
Boquillas: {receta.pastillas || '—'}

{receta.ingeniero_responsable}

{receta.ingeniero_responsable}

{receta.matricula}

) }