"use client" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Printer } from "lucide-react" interface TramiteData { nombre: string formaJuridica: string organismo: string jurisdiccion: string ultimaInteraccion: string createdAt: string documentacion: string requiereCertificaciones: boolean certificacionesDetalle: string pasoAPaso: string costos: Array<{ descripcion: string monto: string moneda: string observacion: string }> comentariosInternos: string linkGuia: string dondeSeRealiza: string } interface Adjunto { titulo: string tipo: string } interface TramitePrintViewProps { tramite: TramiteData adjuntos: Adjunto[] cooperativaNombre?: string cooperativaLogo?: string onPrint?: () => void } export function TramitePrintView({ tramite, adjuntos, cooperativaNombre = "Cooperativa de Contadores", cooperativaLogo, onPrint, }: TramitePrintViewProps) { const handlePrint = () => { if (onPrint) { onPrint() } window.print() } return (
{/* Botón de impresión - solo visible en pantalla */}

Vista de Impresión

{/* Contenido imprimible */}
{/* Marca de agua */}
{cooperativaLogo && } {cooperativaNombre}
{/* Encabezado */}

{tramite.nombre}

Forma Jurídica: {tramite.formaJuridica} Organismo: {tramite.organismo} Jurisdicción: {tramite.jurisdiccion} Última interacción: {new Date(tramite.ultimaInteraccion).toLocaleDateString("es-AR")}
{/* Cuerpo del documento */}
{/* Información General */}

Información General

Fecha de Creación: {tramite.createdAt ? new Date(tramite.createdAt).toLocaleDateString("es-AR", { year: "numeric", month: "2-digit", day: "2-digit", }) : "No especificada"}

Dónde se realiza

{tramite.dondeSeRealiza}

{tramite.linkGuia && (

Guía Oficial

{tramite.linkGuia}

)}
{/* Documentación y Requisitos */}

Documentación y Requisitos

{/* Certificaciones Externas */} {tramite.requiereCertificaciones && (

⚠️ Certificaciones Externas Requeridas

{tramite.certificacionesDetalle}
)} {/* Paso a Paso */}

Procedimiento Paso a Paso

{/* Costos */} {tramite.costos.length > 0 && (

Costos Asociados

{tramite.costos.map((costo, index) => ( ))}
Descripción Monto Observaciones
{costo.descripcion} {costo.moneda} ${Number(costo.monto).toLocaleString("es-AR")} {costo.observacion || "-"}
)} {/* Adjuntos */} {adjuntos.length > 0 && (

Archivos Adjuntos

{adjuntos.map((adjunto, index) => ( ))}
Tipo Nombre del Archivo
{adjunto.tipo} {adjunto.titulo}
)} {/* Comentarios Internos */} {tramite.comentariosInternos && (

Comentarios Internos

{tramite.comentariosInternos}
)}
{/* Footer con paginación */}
{cooperativaNombre} Página de {new Date().toLocaleDateString("es-AR")}
{/* Estilos de impresión */}
) }