Merge branch 'feature/multi-dimensions' of https://github.com/bigcapitalhq/client into feature/multi-dimensions

This commit is contained in:
a.bouhuolia
2022-03-20 12:04:24 +02:00
27 changed files with 665 additions and 204 deletions

View File

@@ -1,43 +1,31 @@
import React from 'react'; import React from 'react';
import { FormGroup, TextArea } from '@blueprintjs/core';
import { FormattedMessage as T } from 'components';
import { FastField } from 'formik';
import classNames from 'classnames'; import classNames from 'classnames';
import { Postbox, Row, Col } from 'components'; import styled from 'styled-components';
import { CLASSES } from 'common/classes'; import { CLASSES } from 'common/classes';
import Dragzone from 'components/Dragzone'; import { Paper, Row, Col } from 'components';
import { inputIntent } from 'utils'; import { BillFormFooterLeft } from './BillFormFooterLeft';
import { BillFormFooterRight } from './BillFormFooterRight';
// Bill form floating actions. // Bill form floating actions.
export default function BillFormFooter() { export default function BillFormFooter() {
return ( return (
<div class={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div class={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox title={<T id={'bill_details'} />} defaultOpen={false}> <BillFooterPaper>
<Row> <Row>
<Col md={8}> <Col md={8}>
<FastField name={'note'}> <BillFormFooterLeft />
{({ field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'note'} />}
className={'form-group--note'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
<Col md={4}> <Col md={4}>
<Dragzone <BillFormFooterRight />
initialFiles={[]}
// onDrop={onDropFiles}
// onDeleteFile={onDropFiles}
hint={<T id={'attachments_maximum'} />}
/>
</Col> </Col>
</Row> </Row>
</Postbox> </BillFooterPaper>
</div> </div>
); );
} }
const BillFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,31 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function BillFormFooterLeft() {
return (
<React.Fragment>
{/* --------- note --------- */}
<TermsConditsFormGroup label={<T id={'note'} />} name={'note'}>
<FEditableText
name={'note'}
placeholder={
'Enter the terms and conditions of your business to be displayed in your transaction'
}
/>
</TermsConditsFormGroup>
</React.Fragment>
);
}
const TermsConditsFormGroup = styled(FFormGroup)`
&.bp3-form-group {
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,43 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function BillFormFooterRight() {
return (
<BillTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'bill.details.subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'bill.details.total'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
<TotalLine
title={<T id={'bill.details.payment_amount'} />}
value={'$0.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'bill.details.due_amount'} />}
value={'$5000.00'}
textStyle={TotalLineTextStyle.Bold}
/>
</BillTotalLines>
);
}
const BillTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -1,11 +1,11 @@
import React from 'react'; import React from 'react';
import { FastField } from 'formik';
import { FormGroup, TextArea } from '@blueprintjs/core';
import { FormattedMessage as T } from 'components';
import { CLASSES } from 'common/classes';
import { Row, Col, Postbox } from 'components';
import { inputIntent } from 'utils';
import classNames from 'classnames'; import classNames from 'classnames';
import styled from 'styled-components';
import { CLASSES } from 'common/classes';
import { Row, Col, Paper } from 'components';
import { VendorCreditNoteFormFooterLeft } from './VendorCreditNoteFormFooterLeft';
import { VendorCreditNoteFormFooterRight } from './VendorCreditNoteFormFooterRight';
/** /**
* Vendor Credit note form footer. * Vendor Credit note form footer.
@@ -13,26 +13,21 @@ import classNames from 'classnames';
export default function VendorCreditNoteFormFooter() { export default function VendorCreditNoteFormFooter() {
return ( return (
<div class={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div class={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox <VendorCreditNoteFooterPaper>
title={<T id={'vendor_credits_note.label_credit_note_details'} />}
defaultOpen={false}
>
<Row> <Row>
<Col md={8}> <Col md={8}>
<FastField name={'note'}> <VendorCreditNoteFormFooterLeft />
{({ field, meta: { error, touched } }) => ( </Col>
<FormGroup
label={<T id={'note'} />} <Col md={4}>
className={'form-group--note'} <VendorCreditNoteFormFooterRight />
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
</Row> </Row>
</Postbox> </VendorCreditNoteFooterPaper>
</div> </div>
); );
} }
const VendorCreditNoteFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,31 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function VendorCreditNoteFormFooterLeft() {
return (
<React.Fragment>
{/* --------- Terms and conditions --------- */}
<TermsConditsFormGroup label={<T id={'note'} />} name={'note'}>
<FEditableText
name={'note'}
placeholder={
'Enter the terms and conditions of your business to be displayed in your transaction'
}
/>
</TermsConditsFormGroup>
</React.Fragment>
);
}
const TermsConditsFormGroup = styled(FFormGroup)`
&.bp3-form-group {
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,35 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function VendorCreditNoteFormFooterRight() {
return (
<VendorCreditNoteTotalLines
labelColWidth={'180px'}
amountColWidth={'180px'}
>
<TotalLine
title={<T id={'credit_note.drawer.label_subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'credit_note.drawer.label_total'} />}
value={'$5000.00'}
// borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
</VendorCreditNoteTotalLines>
);
}
const VendorCreditNoteTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -113,7 +113,6 @@ function VendorCreditNoteFormHeaderFields({
popoverFill={true} popoverFill={true}
allowCreate={true} allowCreate={true}
/> />
<VendorCreditNoteFormCurrencyTag />
</ControlVendorGroup> </ControlVendorGroup>
</FormGroup> </FormGroup>
)} )}

View File

@@ -1,10 +1,11 @@
import React from 'react'; import React from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { FormGroup, TextArea } from '@blueprintjs/core'; import styled from 'styled-components';
import { FormattedMessage as T } from 'components';
import { FastField } from 'formik';
import { Postbox, Row, Col } from 'components';
import { CLASSES } from 'common/classes'; import { CLASSES } from 'common/classes';
import { Row, Col, Paper } from 'components';
import { PaymentMadeFormFooterLeft } from './PaymentMadeFormFooterLeft';
import { PaymentMadeFormFooterRight } from './PaymentMadeFormFooterRight';
/** /**
* Payment made form footer. * Payment made form footer.
@@ -12,23 +13,21 @@ import { CLASSES } from 'common/classes';
export default function PaymentMadeFooter() { export default function PaymentMadeFooter() {
return ( return (
<div className={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div className={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox title={<T id={'payment_made_details'} />} defaultOpen={false}> <PaymentReceiveFooterPaper>
<Row> <Row>
<Col md={8}> <Col md={8}>
{/* --------- Statement --------- */} <PaymentMadeFormFooterLeft />
<FastField name={'statement'}> </Col>
{({ form, field, meta: { error, touched } }) => (
<FormGroup <Col md={4}>
label={<T id={'statement'} />} <PaymentMadeFormFooterRight />
className={'form-group--statement'}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
</Row> </Row>
</Postbox> </PaymentReceiveFooterPaper>
</div> </div>
); );
} }
const PaymentReceiveFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,34 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function PaymentMadeFormFooterLeft() {
return (
<React.Fragment>
{/* --------- Statement--------- */}
<StatementFormGroup
name={'statement'}
label={<T id={'statement'} />}
hintText={'Will be displayed on the Payment'}
>
<FEditableText
name={'statement'}
placeholder={'Thanks for your business and have a great day!'}
/>
</StatementFormGroup>
</React.Fragment>
);
}
const StatementFormGroup = styled(FFormGroup)`
&.bp3-form-group {
margin-bottom: 40px;
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,32 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function PaymentMadeFormFooterRight() {
return (
<PaymentMadeTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'estimate.details.subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'estimate.details.total'} />}
value={'$5000.00'}
// borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
</PaymentMadeTotalLines>
);
}
const PaymentMadeTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -118,7 +118,6 @@ function PaymentMadeFormHeaderFields({ organization: { base_currency } }) {
popoverFill={true} popoverFill={true}
allowCreate={true} allowCreate={true}
/> />
<PaymentMadeFormCurrencyTag />
</ControlVendorGroup> </ControlVendorGroup>
</FormGroup> </FormGroup>
)} )}

View File

@@ -1,11 +1,11 @@
import React from 'react'; import React from 'react';
import { FastField } from 'formik';
import { FormGroup, TextArea } from '@blueprintjs/core';
import { FormattedMessage as T } from 'components';
import { CLASSES } from 'common/classes';
import { Row, Col, Postbox } from 'components';
import { inputIntent } from 'utils';
import classNames from 'classnames'; import classNames from 'classnames';
import styled from 'styled-components';
import { CLASSES } from 'common/classes';
import { Row, Col, Paper } from 'components';
import { CreditNoteFormFooterLeft } from './CreditNoteFormFooterLeft';
import { CreditNoteFormFooterRight } from './CreditNoteFormFooterRight';
/** /**
* Credit note form footer. * Credit note form footer.
@@ -13,39 +13,20 @@ import classNames from 'classnames';
export default function CreditNoteFormFooter() { export default function CreditNoteFormFooter() {
return ( return (
<div className={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div className={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox <CreditNoteFooterPaper>
title={<T id={'credit_note.label_credit_note_details'} />}
defaultOpen={false}
>
<Row> <Row>
<Col md={8}> <Col md={8}>
{/* --------- Customer notes --------- */} <CreditNoteFormFooterLeft />
<FastField name={'note'}> </Col>
{({ field, meta: { error, touched } }) => (
<FormGroup <Col md={4}>
label={<T id={'credit_note.label_customer_note'} />} <CreditNoteFormFooterRight />
className={'form-group--note'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
{/* --------- Terms and conditions --------- */}
<FastField name={'terms_conditions'}>
{({ field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'terms_conditions'} />}
className={'form-group--terms_conditions'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
</Row> </Row>
</Postbox> </CreditNoteFooterPaper>
</div> </div>
); );
} }
const CreditNoteFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,59 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function CreditNoteFormFooterLeft() {
return (
<React.Fragment>
{/* --------- Customer notes --------- */}
<CreditNoteMsgFormGroup
name={'note'}
label={<T id={'credit_note.label_customer_note'} />}
hintText={'Will be displayed on the invoice'}
>
<FEditableText
name={'note'}
placeholder={'Thanks for your business and have a great day!'}
/>
</CreditNoteMsgFormGroup>
{/* --------- Terms and conditions --------- */}
<TermsConditsFormGroup
label={<T id={'terms_conditions'} />}
name={'terms_conditions'}
>
<FEditableText
name={'terms_conditions'}
placeholder={
'Enter the terms and conditions of your business to be displayed in your transaction'
}
/>
</TermsConditsFormGroup>
</React.Fragment>
);
}
const CreditNoteMsgFormGroup = styled(FFormGroup)`
&.bp3-form-group {
margin-bottom: 40px;
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;
const TermsConditsFormGroup = styled(FFormGroup)`
&.bp3-form-group {
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,32 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function CreditNoteFormFooterRight() {
return (
<CreditNoteTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'credit_note.drawer.label_subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'credit_note.drawer.label_total'} />}
value={'$5000.00'}
// borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
</CreditNoteTotalLines>
);
}
const CreditNoteTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -113,7 +113,6 @@ function CreditNoteFormHeaderFields({
popoverFill={true} popoverFill={true}
allowCreate={true} allowCreate={true}
/> />
<CreditNotetFormCurrencyTag />
</ControlCustomerGroup> </ControlCustomerGroup>
</FormGroup> </FormGroup>
)} )}

View File

@@ -1,60 +1,33 @@
import React from 'react'; import React from 'react';
import { FormGroup, TextArea } from '@blueprintjs/core';
import { FormattedMessage as T } from 'components';
import { FastField } from 'formik';
import classNames from 'classnames'; import classNames from 'classnames';
import { CLASSES } from 'common/classes'; import styled from 'styled-components';
import { Row, Col, Postbox } from 'components';
import Dragzone from 'components/Dragzone';
import { inputIntent } from 'utils'; import { CLASSES } from 'common/classes';
import { Row, Col, Paper } from 'components';
import { EstimateFormFooterLeft } from './EstimateFormFooterLeft';
import { EstimateFormFooterRight } from './EstimateFormFooterRight';
/** /**
* Estimate form footer. * Estimate form footer.
*/ */
export default function EstiamteFormFooter({}) { export default function EstiamteFormFooter() {
return ( return (
<div class={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div className={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox title={<T id={'estimate_details'} />} defaultOpen={false}> <EstimateFooterPaper>
<Row> <Row>
<Col md={8}> <Col md={8}>
{/* --------- Customer Note --------- */} <EstimateFormFooterLeft />
<FastField name={'note'}>
{({ form, field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'customer_note'} />}
className={'form-group--customer_note'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
{/* --------- Terms and conditions --------- */}
<FastField name={'terms_conditions'}>
{({ field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'terms_conditions'} />}
className={'form-group--terms_conditions'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
<Col md={4}> <Col md={4}>
<Dragzone <EstimateFormFooterRight />
initialFiles={[]}
// onDrop={handleDropFiles}
// onDeleteFile={handleDeleteFile}
hint={<T id={'attachments_maximum'} />}
/>
</Col> </Col>
</Row> </Row>
</Postbox> </EstimateFooterPaper>
</div> </div>
); );
} }
const EstimateFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,60 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function EstimateFormFooterLeft() {
return (
<React.Fragment>
{/* --------- Customer Note --------- */}
<EstimateMsgFormGroup
name={'note'}
label={<T id={'customer_note'} />}
hintText={'Will be displayed on the invoice'}
>
<FEditableText
name={'note'}
placeholder={'Thanks for your business and have a great day!'}
/>
</EstimateMsgFormGroup>
{/* --------- Terms and conditions --------- */}
<TermsConditsFormGroup
label={<T id={'terms_conditions'} />}
name={'terms_conditions'}
>
<FEditableText
name={'terms_conditions'}
placeholder={
'Enter the terms and conditions of your business to be displayed in your transaction'
}
/>
</TermsConditsFormGroup>
</React.Fragment>
);
}
const EstimateMsgFormGroup = styled(FFormGroup)`
&.bp3-form-group {
margin-bottom: 40px;
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;
const TermsConditsFormGroup = styled(FFormGroup)`
&.bp3-form-group {
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,32 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function EstimateFormFooterRight() {
return (
<EstimateTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'estimate.details.subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'estimate.details.total'} />}
value={'$5000.00'}
// borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
</EstimateTotalLines>
);
}
const EstimateTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -106,7 +106,7 @@ function EstimateFormHeader({
intent={inputIntent({ error, touched })} intent={inputIntent({ error, touched })}
allowCreate={true} allowCreate={true}
/> />
<EstimateFormCurrencyTag />
</ControlCustomerGroup> </ControlCustomerGroup>
</FormGroup> </FormGroup>
)} )}

View File

@@ -1,34 +1,33 @@
import React from 'react'; import React from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { FormGroup, TextArea } from '@blueprintjs/core'; import styled from 'styled-components';
import { FormattedMessage as T } from 'components';
import { FastField } from 'formik';
import { Row, Col, Postbox } from 'components';
import { CLASSES } from 'common/classes'; import { CLASSES } from 'common/classes';
import { Row, Col, Paper } from 'components';
import { PaymentReceiveFormFootetLeft } from './PaymentReceiveFormFootetLeft';
import { PaymentReceiveFormFootetRight } from './PaymentReceiveFormFootetRight';
/** /**
* Payment receive form footer. * Payment receive form footer.
*/ */
export default function PaymentReceiveFormFooter({ getFieldProps }) { export default function PaymentReceiveFormFooter() {
return ( return (
<div className={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div className={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox title={<T id={'payment_receive_details'} />} defaultOpen={false}> <PaymentReceiveFooterPaper>
<Row> <Row>
<Col md={8}> <Col md={8}>
{/* --------- Statement --------- */} <PaymentReceiveFormFootetLeft />
<FastField name={'statement'}> </Col>
{({ form, field, meta: { error, touched } }) => (
<FormGroup <Col md={4}>
label={<T id={'statement'} />} <PaymentReceiveFormFootetRight />
className={'form-group--statement'}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
</Row> </Row>
</Postbox> </PaymentReceiveFooterPaper>
</div> </div>
); );
} }
const PaymentReceiveFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,35 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function PaymentReceiveFormFootetLeft() {
return (
<React.Fragment>
{/* --------- Statement--------- */}
<StatementFormGroup
name={'statement'}
label={<T id={'statement'} />}
hintText={'Will be displayed on the Payment'}
>
<FEditableText
name={'statement'}
placeholder={'Thanks for your business and have a great day!'}
/>
</StatementFormGroup>
</React.Fragment>
);
}
const StatementFormGroup = styled(FFormGroup)`
&.bp3-form-group {
margin-bottom: 40px;
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,32 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function PaymentReceiveFormFootetRight() {
return (
<PaymentReceiveTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'estimate.details.subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'estimate.details.total'} />}
value={'$5000.00'}
// borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
</PaymentReceiveTotalLines>
);
}
const PaymentReceiveTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -163,7 +163,6 @@ function PaymentReceiveHeaderFields({
}} }}
allowCreate={true} allowCreate={true}
/> />
<PaymentReceiveFormCurrencyTag />
</ControlCustomerGroup> </ControlCustomerGroup>
</FormGroup> </FormGroup>
)} )}

View File

@@ -1,56 +1,30 @@
import React from 'react'; import React from 'react';
import { FormGroup, TextArea } from '@blueprintjs/core';
import { FastField } from 'formik';
import classNames from 'classnames'; import classNames from 'classnames';
import { FormattedMessage as T } from 'components'; import styled from 'styled-components';
import { Dragzone, Postbox, Row, Col } from 'components';
import { CLASSES } from 'common/classes'; import { CLASSES } from 'common/classes';
import { inputIntent } from 'utils'; import { Paper, Row, Col } from 'components';
import { ReceiptFormFooterLeft } from './ReceiptFormFooterLeft';
import { ReceiptFormFooterRight } from './ReceiptFormFooterRight';
export default function ReceiptFormFooter({}) { export default function ReceiptFormFooter({}) {
return ( return (
<div className={classNames(CLASSES.PAGE_FORM_FOOTER)}> <div className={classNames(CLASSES.PAGE_FORM_FOOTER)}>
<Postbox title={<T id={'receipt_details'}/>} defaultOpen={false}> <ReceiptFooterPaper>
<Row> <Row>
<Col md={8}> <Col md={8}>
{/* --------- Receipt message --------- */} <ReceiptFormFooterLeft />
<FastField name={'receipt_message'}>
{({ field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'receipt_message'} />}
className={'form-group--receipt_message'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
{/* --------- Statement--------- */}
<FastField name={'statement'}>
{({ field, meta: { error, touched } }) => (
<FormGroup
label={<T id={'statement'} />}
className={'form-group--statement'}
intent={inputIntent({ error, touched })}
>
<TextArea growVertically={true} {...field} />
</FormGroup>
)}
</FastField>
</Col> </Col>
<Col md={4}> <Col md={4}>
<Dragzone <ReceiptFormFooterRight />
initialFiles={[]}
// onDrop={handleDropFiles}
// onDeleteFile={handleDeleteFile}
hint={<T id={'attachments_maximum'} />}
/>
</Col> </Col>
</Row> </Row>
</Postbox> </ReceiptFooterPaper>
</div> </div>
); );
} }
const ReceiptFooterPaper = styled(Paper)`
padding: 20px;
`;

View File

@@ -0,0 +1,57 @@
import React from 'react';
import styled from 'styled-components';
import { FFormGroup, FEditableText, FormattedMessage as T } from 'components';
export function ReceiptFormFooterLeft() {
return (
<React.Fragment>
{/* --------- Receipt message --------- */}
<ReceiptMsgFormGroup
name={'receipt_message'}
label={<T id={'receipt_message'} />}
hintText={'Will be displayed on the Receipt'}
>
<FEditableText
name={'receipt_message'}
placeholder={'Thanks for your business and have a great day!'}
/>
</ReceiptMsgFormGroup>
{/* --------- Statement--------- */}
<StatementFormGroup label={<T id={'statement'} />} name={'statement'}>
<FEditableText
name={'statement'}
placeholder={
'Enter the terms and conditions of your business to be displayed in your transaction'
}
/>
</StatementFormGroup>
</React.Fragment>
);
}
const ReceiptMsgFormGroup = styled(FFormGroup)`
&.bp3-form-group {
margin-bottom: 40px;
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;
const StatementFormGroup = styled(FFormGroup)`
&.bp3-form-group {
.bp3-label {
font-size: 12px;
margin-bottom: 12px;
}
.bp3-form-content {
margin-left: 10px;
}
}
`;

View File

@@ -0,0 +1,43 @@
import React from 'react';
import styled from 'styled-components';
import {
T,
TotalLines,
TotalLine,
TotalLineBorderStyle,
TotalLineTextStyle,
} from 'components';
export function ReceiptFormFooterRight() {
return (
<ReceiptTotalLines labelColWidth={'180px'} amountColWidth={'180px'}>
<TotalLine
title={<T id={'receipt.details.subtotal'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'receipt.details.total'} />}
value={'$5000.00'}
borderStyle={TotalLineBorderStyle.SingleDark}
textStyle={TotalLineTextStyle.Bold}
/>
<TotalLine
title={<T id={'receipt.details.payment_amount'} />}
value={'$0.00'}
borderStyle={TotalLineBorderStyle.None}
/>
<TotalLine
title={<T id={'receipt.details.due_amount'} />}
value={'$5000.00'}
textStyle={TotalLineTextStyle.Bold}
/>
</ReceiptTotalLines>
);
}
const ReceiptTotalLines = styled(TotalLines)`
width: 100%;
color: #555555;
`;

View File

@@ -113,7 +113,7 @@ function ReceiptFormHeader({
popoverFill={true} popoverFill={true}
allowCreate={true} allowCreate={true}
/> />
<ReceiptFormCurrencyTag />
</ControlCustomerGroup> </ControlCustomerGroup>
</FormGroup> </FormGroup>
)} )}