mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-19 22:30:31 +00:00
refactoring(paperTemplate): connect data.
This commit is contained in:
@@ -2,9 +2,11 @@ import React from 'react';
|
||||
import PaperTemplateHeader from './PaperTemplateHeader';
|
||||
import PaperTemplateTable from './PaperTemplateTable';
|
||||
import PaperTemplateFooter from './PaperTemplateFooter';
|
||||
import { updateItemsEntriesTotal } from 'containers/Entries/utils';
|
||||
|
||||
import 'style/components/Drawer/DrawerTemplate.scss';
|
||||
|
||||
export default function PaperTemplate({ labels: propLabels }) {
|
||||
function PaperTemplate({ labels: propLabels, paperData, entries }) {
|
||||
const labels = {
|
||||
name: 'Estimate',
|
||||
billedTo: 'Billed to',
|
||||
@@ -15,13 +17,29 @@ export default function PaperTemplate({ labels: propLabels }) {
|
||||
dueDate: 'Due date',
|
||||
...propLabels,
|
||||
};
|
||||
|
||||
const defaultValues = {
|
||||
billedTo: paperData.customer.display_name,
|
||||
date: paperData.estimate_date,
|
||||
amount: '',
|
||||
billedFrom: '',
|
||||
dueDate: paperData.expiration_date,
|
||||
referenceNo: paperData.estimate_number,
|
||||
...paperData,
|
||||
};
|
||||
|
||||
return (
|
||||
<div id={'page-size'}>
|
||||
<div className={'template'}>
|
||||
<PaperTemplateHeader defaultLabels={labels} />
|
||||
<PaperTemplateTable />
|
||||
<PaperTemplateFooter />
|
||||
<PaperTemplateHeader
|
||||
defaultLabels={labels}
|
||||
headerData={defaultValues}
|
||||
/>
|
||||
<PaperTemplateTable tableData={updateItemsEntriesTotal(entries)} />
|
||||
<PaperTemplateFooter footerData={defaultValues} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default PaperTemplate;
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
import React from 'react';
|
||||
import { If } from 'components';
|
||||
|
||||
export default function PaperTemplateFooter() {
|
||||
export default function PaperTemplateFooter({
|
||||
footerData: { terms_conditions },
|
||||
}) {
|
||||
return (
|
||||
<div className="template__terms">
|
||||
<div className="template__terms__title">
|
||||
<h4>Conditions and terms</h4>
|
||||
</div>
|
||||
<ul>
|
||||
<li>Est excepteur laboris do sit dolore sit exercitation non.</li>
|
||||
<li>Lorem duis aliqua minim elit cillum.</li>
|
||||
<li>Dolor ad quis Lorem ut mollit consectetur.</li>
|
||||
</ul>
|
||||
<If condition={terms_conditions}>
|
||||
<div className="template__terms__title">
|
||||
<h4>Conditions and terms</h4>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
{[terms_conditions].map((terms) => (
|
||||
<li>{terms}</li>
|
||||
))}
|
||||
</ul>
|
||||
</If>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,44 +1,22 @@
|
||||
import React from 'react';
|
||||
import { Icon } from 'components';
|
||||
import { TemplateHeader, TemplateContent } from '../components';
|
||||
|
||||
export default function PaperTemplateHeader({ defaultLabels }) {
|
||||
export default function PaperTemplateHeader({
|
||||
defaultLabels,
|
||||
headerData: { referenceNo, amount, dueDate, date, billedTo },
|
||||
}) {
|
||||
return (
|
||||
<>
|
||||
<div className={'template__header'}>
|
||||
<div className={'template__header--title'}>
|
||||
<h1>{defaultLabels.name}</h1>
|
||||
<p>info@bigcapital.ly </p>
|
||||
</div>
|
||||
<Icon icon="bigcapital" height={30} width={200} />
|
||||
</div>
|
||||
|
||||
<div className="template__content">
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.billedTo} </span>
|
||||
<p className={'info-paragraph'}>Joe Biden</p>
|
||||
</div>
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.date} </span>
|
||||
|
||||
<p className={'info-paragraph'}>1/1/2022</p>
|
||||
</div>
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.refNo} </span>
|
||||
<p className={'info-paragraph'}>IN-2022</p>
|
||||
</div>
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.amount} </span>
|
||||
<p className={'info-paragraph-amount'}>6,000 LYD</p>
|
||||
</div>
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.billedFrom} </span>
|
||||
<p className={'info-paragraph'}>Donald Trump</p>
|
||||
</div>
|
||||
<div className="template__content__info">
|
||||
<span> {defaultLabels.dueDate} </span>
|
||||
<p className={'info-paragraph'}>25/03/2022</p>
|
||||
</div>
|
||||
</div>
|
||||
<TemplateHeader defaultLabels={defaultLabels} />
|
||||
<TemplateContent
|
||||
defaultLabels={defaultLabels}
|
||||
billedTo={billedTo}
|
||||
date={date}
|
||||
referenceNo={referenceNo}
|
||||
amount={amount}
|
||||
billedFrom={''}
|
||||
dueDate={dueDate}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,55 +1,41 @@
|
||||
import React from 'react';
|
||||
import React, { useMemo } from 'react';
|
||||
import { formatMessage } from 'services/intl';
|
||||
import { DataTable, Money } from 'components';
|
||||
|
||||
export default function DrawerTemplateTable() {
|
||||
export default function DrawerTemplateTable({ tableData }) {
|
||||
const columns = useMemo(
|
||||
() => [
|
||||
{
|
||||
Header: formatMessage({ id: 'description' }),
|
||||
accessor: 'description',
|
||||
disableSortBy: true,
|
||||
width: 150,
|
||||
},
|
||||
{
|
||||
Header: formatMessage({ id: 'rate' }),
|
||||
accessor: 'rate',
|
||||
accessor: ({ rate }) => <Money amount={rate} currency={'USD'} />,
|
||||
disableSortBy: true,
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
Header: formatMessage({ id: 'Qty' }),
|
||||
accessor: 'quantity',
|
||||
disableSortBy: true,
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
Header: formatMessage({ id: 'Total' }),
|
||||
accessor: ({ total }) => <Money amount={total} currency={'USD'} />,
|
||||
disableSortBy: true,
|
||||
width: 50,
|
||||
},
|
||||
],
|
||||
[],
|
||||
);
|
||||
return (
|
||||
<div className="template__table">
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell ">Description</span>
|
||||
<span className="template__table__rows--cell">Rate</span>
|
||||
<span className="template__table__rows--cell">Qty</span>
|
||||
<span className="template__table__rows--cell">Total</span>
|
||||
</div>
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell">
|
||||
Nulla commodo magnanon dolor excepteur nisi aute laborum.
|
||||
</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">100 LYD</span>
|
||||
</div>
|
||||
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell">
|
||||
Nulla comm non dolor excepteur elit dolore eiusmod nisi aute laborum.
|
||||
</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">100 LYD</span>
|
||||
</div>
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell">
|
||||
Nulla comm non dolor excepteur elit dolore eiusmod nisi aute laborum.
|
||||
</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">100 LYD</span>
|
||||
</div>
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell">
|
||||
Nulla comm non dolor excepteur elit dolore eiusmod nisi aute laborum.
|
||||
</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">100 LYD</span>
|
||||
</div>
|
||||
<div className="template__table__rows">
|
||||
<span className="template__table__rows--cell">
|
||||
Nulla comm non dolor excepteur elit dolore eiusmod nisi aute laborum.
|
||||
</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">1</span>
|
||||
<span className="template__table__rows--cell">100 LYD</span>
|
||||
</div>
|
||||
<DataTable columns={columns} data={tableData} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user