mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 05:40:31 +00:00
feat: receipt detail footer.
This commit is contained in:
@@ -1,51 +1,35 @@
|
||||
import React from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import {
|
||||
CommercialDocFooter,
|
||||
T,
|
||||
TotalLines,
|
||||
TotalLine,
|
||||
TotalLineBorderStyle,
|
||||
TotalLineTextStyle,
|
||||
FormatNumber,
|
||||
If,
|
||||
DetailsMenu,
|
||||
DetailItem,
|
||||
} from 'components';
|
||||
|
||||
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();
|
||||
|
||||
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>
|
||||
<CommercialDocFooter>
|
||||
<DetailsMenu direction={'horizantal'} minLabelSize={'180px'}>
|
||||
<If condition={receipt.statement}>
|
||||
<DetailItem label={<T id={'receipt.details.statement'} />}>
|
||||
{receipt.statement}
|
||||
</DetailItem>
|
||||
</If>
|
||||
<If condition={receipt.receipt_message}>
|
||||
<DetailItem label={<T id={'receipt.details.receipt_message'} />}>
|
||||
{receipt.receipt_message}
|
||||
</DetailItem>
|
||||
</If>
|
||||
</DetailsMenu>
|
||||
</CommercialDocFooter>
|
||||
);
|
||||
}
|
||||
|
||||
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 ReceiptDetailTable from './ReceiptDetailTable';
|
||||
import { ReceiptDetailFooter } from './ReceiptDetailFooter';
|
||||
import ReceiptDetailTableFooter from './ReceiptDetailTableFooter';
|
||||
import ReceiptDetailFooter from './ReceiptDetailFooter';
|
||||
|
||||
export default function ReceiptDetailTab() {
|
||||
return (
|
||||
@@ -13,6 +14,7 @@ export default function ReceiptDetailTab() {
|
||||
<CommercialDocBox>
|
||||
<ReceiptDetailHeader />
|
||||
<ReceiptDetailTable />
|
||||
<ReceiptDetailTableFooter />
|
||||
<ReceiptDetailFooter />
|
||||
</CommercialDocBox>
|
||||
</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