From 2a3749764891e799fdd99be596559501465d218f Mon Sep 17 00:00:00 2001 From: "a.bouhuolia" Date: Mon, 20 Dec 2021 16:08:25 +0200 Subject: [PATCH] feat: optimize style of sale receipt details. --- .../EstimateDetailHeader.js | 29 ++++- .../EstimateDetailDrawer/components.js | 41 +++++++ .../ReceiptDetailDrawer/ReceiptDetail.js | 52 ++++---- .../ReceiptDetailActionBar.js | 17 ++- .../ReceiptDetailDrawerProvider.js | 19 +-- .../ReceiptDetailHeader.js | 114 +++++++++++------- .../ReceiptDetailDrawer/ReceiptDetailTab.js | 19 ++- .../ReceiptDetailDrawer/ReceiptDetailTable.js | 18 ++- .../ReceiptDetailsGLEntriesPanel.js | 43 +++++++ .../Drawers/ReceiptDetailDrawer/components.js | 26 ++++ 10 files changed, 267 insertions(+), 111 deletions(-) create mode 100644 src/containers/Drawers/EstimateDetailDrawer/components.js create mode 100644 src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetailsGLEntriesPanel.js create mode 100644 src/containers/Drawers/ReceiptDetailDrawer/components.js diff --git a/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailHeader.js b/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailHeader.js index 5ce409a81..b23e8b5ab 100644 --- a/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailHeader.js +++ b/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailHeader.js @@ -1,6 +1,7 @@ import React from 'react'; import intl from 'react-intl-universal'; import { defaultTo } from 'lodash'; +import styled from 'styled-components'; import { CommercialDocHeader, @@ -11,8 +12,10 @@ import { DetailItem, Row, Col, + ButtonLink, } from 'components'; import { useEstimateDetailDrawerContext } from './EstimateDetailDrawerProvider'; +import { EstimateDetailsStatus } from './components'; /** * Estimate read-only details drawer header. @@ -24,9 +27,13 @@ export default function EstimateDetailHeader() { - + {estimate.formatted_amount} - + + + + + @@ -37,14 +44,16 @@ export default function EstimateDetailHeader() { label={intl.get('estimate.details.estimate_number')} children={defaultTo(estimate.estimate_number, '-')} /> - + + + {estimate.customer?.display_name} + + + ); } + +const EstimateStatusDetail = styled(DetailItem)` + width: 50%; + text-align: right; +`; +const AmountEstimateDetail = styled(DetailItem)` + width: 50%; +`; diff --git a/src/containers/Drawers/EstimateDetailDrawer/components.js b/src/containers/Drawers/EstimateDetailDrawer/components.js new file mode 100644 index 000000000..d9f470627 --- /dev/null +++ b/src/containers/Drawers/EstimateDetailDrawer/components.js @@ -0,0 +1,41 @@ +import React from 'react'; +import { Intent, Tag } from '@blueprintjs/core'; + +import { T, Choose } from 'components'; + +/** + * Estimate details status. + * @return {React.JSX} + */ +export function EstimateDetailsStatus({ estimate }) { + return ( + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetail.js b/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetail.js index 2f7dfa695..2e6a4bae2 100644 --- a/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetail.js +++ b/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetail.js @@ -1,35 +1,45 @@ import React from 'react'; import { Tab } from '@blueprintjs/core'; import intl from 'react-intl-universal'; -import clsx from 'classnames'; +import styled from 'styled-components'; import { DrawerMainTabs } from 'components'; -import JournalEntriesTable from '../../JournalEntriesTable/JournalEntriesTable'; import ReceiptDetailTab from './ReceiptDetailTab'; -import { useReceiptDetailDrawerContext } from './ReceiptDetailDrawerProvider'; - -import ReceiptDrawerCls from 'style/components/Drawers/ReceiptDrawer.module.scss'; +import ReceiptDetailActionBar from './ReceiptDetailActionBar'; +import { ReceiptDetailsGLEntriesPanel } from './ReceiptDetailsGLEntriesPanel'; /** * Receipt view detail. + * @returns {React.JSX} */ export default function ReceiptDetail() { - const { transactions } = useReceiptDetailDrawerContext(); - return ( -
- - } - /> - } - /> - -
+ + + + ); } + +/** + * Receipt details tabs bar. + * @returns {React.JSX} + */ +function ReceiptDetailsTabs() { + return ( + + } + /> + } + /> + + ); +} + +const ReceiptDetailsRoot = styled.div``; diff --git a/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetailActionBar.js b/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetailActionBar.js index b099ac08c..b66d086f9 100644 --- a/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetailActionBar.js +++ b/src/containers/Drawers/ReceiptDetailDrawer/ReceiptDetailActionBar.js @@ -8,13 +8,18 @@ import { NavbarDivider, Intent, } from '@blueprintjs/core'; -import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; import withDialogActions from 'containers/Dialog/withDialogActions'; import withAlertsActions from 'containers/Alert/withAlertActions'; import withDrawerActions from 'containers/Drawer/withDrawerActions'; -import { Can, Icon, FormattedMessage as T, MoreMenuItems } from 'components'; +import { + Can, + Icon, + FormattedMessage as T, + MoreMenuItems, + DrawerActionsBar, +} from 'components'; import { useReceiptDetailDrawerContext } from './ReceiptDetailDrawerProvider'; import { SaleReceiptAction, @@ -23,6 +28,10 @@ import { import { safeCallback, compose } from 'utils'; +/** + * Receipt details actions bar. + * @returns {React.JSX} + */ function ReceiptDetailActionBar({ // #withDialogActions openDialog, @@ -56,7 +65,7 @@ function ReceiptDetailActionBar({ openDialog('notify-receipt-via-sms', { receiptId }); }; return ( - +