import React from 'react' import { Image, View, pdf } from '@react-pdf/renderer' import { PdfContainerDownload } from '../PdfContainer' import { type InterfacePdfSalesInvoice } from './type' import { Column, LogoPDF, Row, Text } from '../PDF' import { BGColor, PColor, SECColor } from '../../../assets' import { styles } from './styles' import { ListPDF } from './List' import { saveAs } from 'file-saver' import { generateQRCodeImage } from './helpers' interface PdfSalesInvoiceProps { data: InterfacePdfSalesInvoice numberFormat?: (number: number) => string } export const PdfSalesInvoice: React.FC = ({ data, numberFormat = (number) => { return number } }) => { const { date, products, total, client, urlStore, change, storePhone, ref, addressStore, delivery, storeName, NitStore } = data ?? { date: '', urlStore: '', delivery: '', products: [], total: 0, client: { ccClient: '', clientName: '', clientNumber: '' }, change: 0, storePhone: '', addressStore: '', storeName: '', NitStore: '' } const { ccClient, clientName, clientNumber } = client ?? { ccClient: null, clientName: null, clientNumber: null } console.log(clientNumber) const qrDataURL = generateQRCodeImage(urlStore) return ( {process.env.BUSINESS_TITLE ?? 'app'} Dirección: Carrera 11 Nit: 10989874-12 {process.env.BUSINESS_TITLE ?? storeName} {`Telefono: ${storePhone ?? '(___ _______)'}`} {`Dirección: ${addressStore}`} {`Nit: ${NitStore}`} {`# Referencia: ${ref}`} IMFORMACION DEL CLIENTE OBSERVACIONES {`Nombre: ${clientName ?? '____________'}`} {`Cedula: ${ccClient ?? '(____________)'}`} {`Telefono: ${clientNumber === '' ? '(___ _______)' : clientNumber}`} {`Fecha: ${date}`} {`Cambio: ${change ?? 0}`} {`Costo de domicilio: ${delivery ?? 0}`} # 0 Nombre Cantidad Precio Unitario Total {`Total: $ ${total}`} ) } interface PdfSalesInvoiceProps { data: InterfacePdfSalesInvoice titleFile: string numberFormat?: (number: number) => string } export const generatePdfDocumentInvoice = async ({ data, titleFile = '', numberFormat }: PdfSalesInvoiceProps) => { const blob = await pdf( ).toBlob() saveAs(blob, titleFile ?? '') }