mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 07:10:33 +00:00
feat: receipt detail footer.
This commit is contained in:
@@ -1,51 +1,35 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
CommercialDocFooter,
|
||||||
T,
|
T,
|
||||||
TotalLines,
|
If,
|
||||||
TotalLine,
|
DetailsMenu,
|
||||||
TotalLineBorderStyle,
|
DetailItem,
|
||||||
TotalLineTextStyle,
|
|
||||||
FormatNumber,
|
|
||||||
} from 'components';
|
} from 'components';
|
||||||
|
|
||||||
import { useReceiptDetailDrawerContext } from './ReceiptDetailDrawerProvider';
|
import { useReceiptDetailDrawerContext } from './ReceiptDetailDrawerProvider';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Receipts read-only details footer.
|
* Receipt details footer
|
||||||
|
* @returns {React.JSX}
|
||||||
*/
|
*/
|
||||||
export function ReceiptDetailFooter() {
|
export default function ReceiptDetailFooter() {
|
||||||
const { receipt } = useReceiptDetailDrawerContext();
|
const { receipt } = useReceiptDetailDrawerContext();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ReceiptDetailsFooterRoot>
|
<CommercialDocFooter>
|
||||||
<ReceiptTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
|
<DetailsMenu direction={'horizantal'} minLabelSize={'180px'}>
|
||||||
<TotalLine
|
<If condition={receipt.statement}>
|
||||||
title={<T id={'receipt.details.subtotal'} />}
|
<DetailItem label={<T id={'receipt.details.statement'} />}>
|
||||||
value={<FormatNumber value={receipt.amount} />}
|
{receipt.statement}
|
||||||
/>
|
</DetailItem>
|
||||||
<TotalLine
|
</If>
|
||||||
title={<T id={'receipt.details.total'} />}
|
<If condition={receipt.receipt_message}>
|
||||||
value={receipt.formatted_amount}
|
<DetailItem label={<T id={'receipt.details.receipt_message'} />}>
|
||||||
borderStyle={TotalLineBorderStyle.DoubleDark}
|
{receipt.receipt_message}
|
||||||
textStyle={TotalLineTextStyle.Bold}
|
</DetailItem>
|
||||||
/>
|
</If>
|
||||||
<TotalLine
|
</DetailsMenu>
|
||||||
title={<T id={'receipt.details.payment_amount'} />}
|
</CommercialDocFooter>
|
||||||
value={receipt.formatted_amount}
|
|
||||||
borderStyle={TotalLineBorderStyle.DoubleDark}
|
|
||||||
/>
|
|
||||||
<TotalLine
|
|
||||||
title={<T id={'receipt.details.due_amount'} />}
|
|
||||||
value={'0'}
|
|
||||||
/>
|
|
||||||
</ReceiptTotalLines>
|
|
||||||
</ReceiptDetailsFooterRoot>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ReceiptDetailsFooterRoot = styled.div``;
|
|
||||||
|
|
||||||
export const ReceiptTotalLines = styled(TotalLines)`
|
|
||||||
margin-left: auto;
|
|
||||||
`;
|
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ import { CommercialDocBox } from 'components';
|
|||||||
|
|
||||||
import ReceiptDetailHeader from './ReceiptDetailHeader';
|
import ReceiptDetailHeader from './ReceiptDetailHeader';
|
||||||
import ReceiptDetailTable from './ReceiptDetailTable';
|
import ReceiptDetailTable from './ReceiptDetailTable';
|
||||||
import { ReceiptDetailFooter } from './ReceiptDetailFooter';
|
import ReceiptDetailTableFooter from './ReceiptDetailTableFooter';
|
||||||
|
import ReceiptDetailFooter from './ReceiptDetailFooter';
|
||||||
|
|
||||||
export default function ReceiptDetailTab() {
|
export default function ReceiptDetailTab() {
|
||||||
return (
|
return (
|
||||||
@@ -13,6 +14,7 @@ export default function ReceiptDetailTab() {
|
|||||||
<CommercialDocBox>
|
<CommercialDocBox>
|
||||||
<ReceiptDetailHeader />
|
<ReceiptDetailHeader />
|
||||||
<ReceiptDetailTable />
|
<ReceiptDetailTable />
|
||||||
|
<ReceiptDetailTableFooter />
|
||||||
<ReceiptDetailFooter />
|
<ReceiptDetailFooter />
|
||||||
</CommercialDocBox>
|
</CommercialDocBox>
|
||||||
</ReceiptDetailsOverviewRoot>
|
</ReceiptDetailsOverviewRoot>
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import styled from 'styled-components';
|
||||||
|
|
||||||
|
import {
|
||||||
|
T,
|
||||||
|
TotalLines,
|
||||||
|
TotalLine,
|
||||||
|
TotalLineBorderStyle,
|
||||||
|
TotalLineTextStyle,
|
||||||
|
FormatNumber,
|
||||||
|
} from 'components';
|
||||||
|
import { useReceiptDetailDrawerContext } from './ReceiptDetailDrawerProvider';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Receipts read-only details table footer.
|
||||||
|
*/
|
||||||
|
export default function ReceiptDetailTableFooter() {
|
||||||
|
const { receipt } = useReceiptDetailDrawerContext();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ReceiptDetailsFooterRoot>
|
||||||
|
<ReceiptTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
|
||||||
|
<TotalLine
|
||||||
|
title={<T id={'receipt.details.subtotal'} />}
|
||||||
|
value={<FormatNumber value={receipt.amount} />}
|
||||||
|
/>
|
||||||
|
<TotalLine
|
||||||
|
title={<T id={'receipt.details.total'} />}
|
||||||
|
value={receipt.formatted_amount}
|
||||||
|
borderStyle={TotalLineBorderStyle.DoubleDark}
|
||||||
|
textStyle={TotalLineTextStyle.Bold}
|
||||||
|
/>
|
||||||
|
<TotalLine
|
||||||
|
title={<T id={'receipt.details.payment_amount'} />}
|
||||||
|
value={receipt.formatted_amount}
|
||||||
|
borderStyle={TotalLineBorderStyle.DoubleDark}
|
||||||
|
/>
|
||||||
|
<TotalLine
|
||||||
|
title={<T id={'receipt.details.due_amount'} />}
|
||||||
|
value={'0'}
|
||||||
|
/>
|
||||||
|
</ReceiptTotalLines>
|
||||||
|
</ReceiptDetailsFooterRoot>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ReceiptDetailsFooterRoot = styled.div``;
|
||||||
|
|
||||||
|
export const ReceiptTotalLines = styled(TotalLines)`
|
||||||
|
margin-left: auto;
|
||||||
|
`;
|
||||||
Reference in New Issue
Block a user