/* * Copyright 2020-2021 AskChristee, LLC. All rights reserved. */ import { Document, Page, StyleSheet, Text, View } from '@react-pdf/renderer'; import styled from '@react-pdf/styled-components'; import React, { Fragment } from 'react'; import { TVacationPdf, TVacationResponse, TVacationResponseV2 } from '../../../../types/api'; import ReportHeader from '../../../atoms/Pdf/ReportHeader'; import ReportTitleSubtitle from '../../../atoms/Pdf/ReportSubtitle'; import ReportTitle from '../../../atoms/Pdf/ReportTitle'; import UserInfo from '../../../atoms/Pdf/UserInfo'; import ReportClose from '../ClosingAcalc'; const Note = styled.Text` width: '100%'; text-align: left; font-size: 9px; `; /** * NOTE: PDF fails when import atoms/styles * * import { StylesFromAtoms } from "../atoms/Styles"; * const styles = StylesFromAtoms; */ const styles = StyleSheet.create({ body: { paddingTop: 10, paddingBottom: 25, paddingHorizontal: 30, }, pageNumber: { position: 'absolute', fontSize: 9, bottom: 15, left: 0, right: 0, textAlign: 'center', color: 'black', }, image: { width: 70, height: 20, }, header: { fontSize: 12, marginBottom: 20, textAlign: 'center', color: 'grey', }, row: { flexDirection: 'row', height: 16, }, }); interface DetailProps { aPdf1?: TVacationPdf | undefined; aPdf2?: TVacationPdf | undefined; aPdf3?: TVacationPdf | undefined; aPdf4?: TVacationPdf | undefined; } const ReportDetailsOne: React.FC = ({ aPdf1 }) => { return ( {aPdf1?.pdf_head1} {aPdf1?.pdf_head2} {aPdf1?.pdf_head3} {aPdf1?.pdf_mess1} {aPdf1?.pdf_mess2} {aPdf1?.pdf_mess3} {aPdf1?.pdf_mess4} {aPdf1?.pdf_mess5} {aPdf1?.pdf_mess6} {aPdf1?.pdf_mess7} {aPdf1?.pdf_mess8} {aPdf1?.pdf_mess9} {aPdf1?.pdf_mess10} {aPdf1?.pdf_mess11} {aPdf1?.pdf_mess12} {aPdf1?.pdf_mess13} {aPdf1?.pdf_mess14} {aPdf1?.pdf_mess15} ); }; const ReportDetailsTwo: React.FC = ({ aPdf2 }) => { return ( {aPdf2?.pdf_head1} {aPdf2?.pdf_head2} {aPdf2?.pdf_head3} {aPdf2?.pdf_mess1} {aPdf2?.pdf_mess2} {aPdf2?.pdf_mess3} {aPdf2?.pdf_mess4} {aPdf2?.pdf_mess5} {aPdf2?.pdf_mess6} {aPdf2?.pdf_mess7} {aPdf2?.pdf_mess8} {aPdf2?.pdf_mess9} {aPdf2?.pdf_mess10} {aPdf2?.pdf_mess11} {aPdf2?.pdf_mess12} {aPdf2?.pdf_mess13} {aPdf2?.pdf_mess15} {aPdf2?.pdf_mess16} {aPdf2?.pdf_mess17} {aPdf2?.pdf_mess18} {aPdf2?.pdf_mess19} {aPdf2?.pdf_mess20} {aPdf2?.pdf_mess21} {aPdf2?.pdf_mess22} {aPdf2?.pdf_mess23} {aPdf2?.pdf_mess24} {aPdf2?.pdf_mess25} {aPdf2?.pdf_mess26} {aPdf2?.pdf_mess27} {aPdf2?.pdf_mess28} {aPdf2?.pdf_mess29} {aPdf2?.pdf_mess30} ); }; interface Props { dat: TVacationResponse | TVacationResponseV2; } const PdfReportContainer: React.FC = ({ dat: { results, coverPage } }) => { return ( {results.aPdf1 && ( {!!(coverPage.name && coverPage.email) && } `${pageNumber} / ${totalPages}`} fixed /> )} {results.aPdf2 && ( {!!(coverPage.name && coverPage.email) && } `${pageNumber} / ${totalPages}`} fixed /> )} {results.aClose1 && ( `${pageNumber} / ${totalPages}`} fixed /> )} {results.aClose2 && ( `${pageNumber} / ${totalPages}`} fixed /> )} {results.aClose3 && ( `${pageNumber} / ${totalPages}`} fixed /> )} {results.aClose4 && ( `${pageNumber} / ${totalPages}`} fixed /> )} ); }; export default PdfReportContainer;