diff --git a/src/components/BankAccounts/index.js b/src/components/BankAccounts/index.js index 13a3f928d..068456b3b 100644 --- a/src/components/BankAccounts/index.js +++ b/src/components/BankAccounts/index.js @@ -141,14 +141,14 @@ function BankAccountBalance({ amount, loading }) { const ACCOUNT_TYPE = { CASH: 'cash', + BANK: 'bank', CREDIT_CARD: 'credit-card', - BANK_ACCOUNT: 'bank-account', }; const ACCOUNT_TYPE_PAIR_ICON = { [ACCOUNT_TYPE.CASH]: 'payments', [ACCOUNT_TYPE.CREDIT_CARD]: 'credit-card', - [ACCOUNT_TYPE.BANK_ACCOUNT]: 'account-balance', + [ACCOUNT_TYPE.BANK]: 'account-balance', }; function BankAccountTypeIcon({ type }) { @@ -159,7 +159,7 @@ function BankAccountTypeIcon({ type }) { } return ( - + ); } diff --git a/src/components/IntersectionObserver/index.js b/src/components/IntersectionObserver/index.js index df91bc9a6..c1f01cc2e 100644 --- a/src/components/IntersectionObserver/index.js +++ b/src/components/IntersectionObserver/index.js @@ -16,7 +16,10 @@ export function IntersectionObserver({ onIntersect }) { }); return ( -
+
Load Newer
); diff --git a/src/containers/Accounts/utils.js b/src/containers/Accounts/utils.js index 0fa98ec84..926d99e69 100644 --- a/src/containers/Accounts/utils.js +++ b/src/containers/Accounts/utils.js @@ -1,9 +1,7 @@ import React from 'react'; import { Intent, Tag } from '@blueprintjs/core'; import intl from 'react-intl-universal'; -import clsx from 'classnames'; -import { CLASSES } from '../../common/classes'; import { If, AppToaster } from 'components'; import { NormalCell, BalanceCell } from './components'; import { transformTableStateToQuery, isBlank } from 'utils'; diff --git a/src/containers/CashFlow/AccountTransactions/AccountTransactionsDataTable.js b/src/containers/CashFlow/AccountTransactions/AccountTransactionsDataTable.js index 5b0f8e9aa..56e2a3d06 100644 --- a/src/containers/CashFlow/AccountTransactions/AccountTransactionsDataTable.js +++ b/src/containers/CashFlow/AccountTransactions/AccountTransactionsDataTable.js @@ -1,4 +1,5 @@ import React from 'react'; +import styled from 'styled-components'; import { DataTable, TableFastCell } from 'components'; import { TABLES } from 'common/tables'; @@ -36,14 +37,13 @@ function AccountTransactionsDataTable({ useMemorizedColumnsWidths(TABLES.CASHFLOW_Transactions); return ( - ); @@ -69,3 +69,30 @@ export default compose( cashflowTansactionsTableSize: cashflowTransactionsSettings?.tableSize, })), )(AccountTransactionsDataTable); + +const DashboardConstrantTable = styled(DataTable)` + .table .thead { + .th { + border-bottom-color: #666; + border-top-color: #666; + background: #fff; + } + } +`; + +const CashflowTransactionsTable = styled(DashboardConstrantTable)` + .table .tbody { + + .tbody-inner .tr.no-results { + .td { + padding: 3rem 0; + font-size: 16px; + color: #888; + font-weight: 400; + border-bottom: 0; + } + } + } +`; + +const DashboardRegularTable = styled(DataTable)``; diff --git a/src/containers/CashFlow/AccountTransactions/components.js b/src/containers/CashFlow/AccountTransactions/components.js index a08aa905c..2caa032ac 100644 --- a/src/containers/CashFlow/AccountTransactions/components.js +++ b/src/containers/CashFlow/AccountTransactions/components.js @@ -47,7 +47,7 @@ export function useAccountTransactionsColumns() { width: 110, className: 'deposit', textOverview: true, - align: 'right' + align: 'right', }, { id: 'withdrawal', @@ -65,7 +65,7 @@ export function useAccountTransactionsColumns() { className: 'running_balance', width: 150, textOverview: true, - align: 'right' + align: 'right', }, ], [], @@ -76,7 +76,7 @@ export function useAccountTransactionsColumns() { * Account transactions progress bar. */ export function AccountTransactionsProgressBar() { - const { isCashFlowTransactionsLoading } = useAccountTransactionsContext(); + const { isCashFlowTransactionsFetching } = useAccountTransactionsContext(); - return isCashFlowTransactionsLoading ? : null; + return isCashFlowTransactionsFetching ? : null; } diff --git a/src/containers/CashFlow/AccountTransactions/withCashflowAccounts.js b/src/containers/CashFlow/AccountTransactions/withCashflowAccounts.js new file mode 100644 index 000000000..df4d74c34 --- /dev/null +++ b/src/containers/CashFlow/AccountTransactions/withCashflowAccounts.js @@ -0,0 +1,15 @@ +import { connect } from 'react-redux'; +import { getCashflowAccountsTableStateFactory } from 'store/CashflowAccounts/CashflowAccounts.selectors'; + +export default (mapState) => { + const getCashflowAccountsTableState = getCashflowAccountsTableStateFactory(); + + const mapStateToProps = (state, props) => { + const mapped = { + cashflowAccountsTableState: getCashflowAccountsTableState(state, props), + }; + return mapState ? mapState(mapped, state, props) : mapped; + }; + + return connect(mapStateToProps); +}; diff --git a/src/containers/CashFlow/AccountTransactions/withCashflowAccountsTableActions.js b/src/containers/CashFlow/AccountTransactions/withCashflowAccountsTableActions.js new file mode 100644 index 000000000..c9770b367 --- /dev/null +++ b/src/containers/CashFlow/AccountTransactions/withCashflowAccountsTableActions.js @@ -0,0 +1,15 @@ +import { connect } from 'react-redux'; +import { + setCashflowAccountsTableState, + resetCashflowAccountsTableState, +} from 'store/CashflowAccounts/CashflowAccounts.actions'; + +const mapActionsToProps = (dispatch) => ({ + setCashflowAccountsTableState: (queries) => + dispatch(setCashflowAccountsTableState(queries)), + + resetCashflowAccountsTableState: () => + dispatch(resetCashflowAccountsTableState()), +}); + +export default connect(null, mapActionsToProps); diff --git a/src/containers/CashFlow/CashFlowAccounts/CashFlowAccountsActionsBar.js b/src/containers/CashFlow/CashFlowAccounts/CashFlowAccountsActionsBar.js index d250f7257..fbbb906fe 100644 --- a/src/containers/CashFlow/CashFlowAccounts/CashFlowAccountsActionsBar.js +++ b/src/containers/CashFlow/CashFlowAccounts/CashFlowAccountsActionsBar.js @@ -1,26 +1,22 @@ import React from 'react'; -import classNames from 'classnames'; - -import { isEmpty } from 'lodash'; import { Button, NavbarGroup, Classes, NavbarDivider, Alignment, + Switch, } from '@blueprintjs/core'; - import { Icon, - DashboardRowsHeightButton, FormattedMessage as T, } from 'components'; - import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; -import { useCashFlowAccountsContext } from './CashFlowAccountsProvider'; + import withDialogActions from 'containers/Dialog/withDialogActions'; import withSettings from '../../Settings/withSettings'; import withSettingsActions from '../../Settings/withSettingsActions'; +import withCashflowAccountsTableActions from '../AccountTransactions/withCashflowAccountsTableActions'; import { compose } from 'utils'; @@ -36,12 +32,14 @@ function CashFlowAccountsActionsBar({ // #withSettingsActions addSetting, + + // # + setCashflowAccountsTableState }) { // Handle table row size change. const handleTableRowSizeChange = (size) => { addSetting('cashflowAccounts', 'tableSize', size); }; - // Handle click a refresh const handleRefreshBtnClick = () => {}; @@ -49,18 +47,21 @@ function CashFlowAccountsActionsBar({ const handleAddBankAccount = () => { openDialog('account-form', {}); }; - // Handle add cash account. const handleAddCashAccount = () => { openDialog('account-form', {}); }; + // Handle inactive switch changing. + const handleInactiveSwitchChange = (event) => { + const checked = event.target.checked; + setCashflowAccountsTableState({ inactiveMode: checked }); + }; return (