From 197f2e809773f449c01cecd1e12ef466f20ff8b0 Mon Sep 17 00:00:00 2001 From: Maciek Date: Wed, 8 Mar 2023 15:58:40 +0100 Subject: [PATCH] chore(trading): 2825 buttons floating over table rows (#3084) --- .../portfolio/deposits-container.tsx | 17 +- .../portfolio/withdrawals-container.tsx | 53 +- .../accounts-container/accounts-container.tsx | 34 +- apps/trading/components/footer/footer.tsx | 2 +- apps/trading/pages/_app.page.tsx | 2 +- libs/accounts/src/lib/accounts-manager.tsx | 27 +- libs/accounts/src/lib/accounts-table.tsx | 220 +++++--- libs/datagrid/src/index.ts | 1 + .../datagrid/src/lib/ag-grid/ag-grid-dark.tsx | 6 +- .../src/lib/ag-grid/ag-grid-light.tsx | 6 +- .../src/lib/cells/centered-grid-cell.tsx | 16 + libs/deposits/src/lib/deposits-table.tsx | 2 + .../order-data-provider.ts | 1 + .../order-list-manager/order-list-manager.tsx | 246 +++------ .../order-list-manager/use-order-list-data.ts | 25 +- .../lib/components/order-list/order-list.tsx | 503 +++++++++--------- .../lib/order-hooks/use-has-active-order.ts | 3 +- libs/react-helpers/src/hooks/index.ts | 1 + .../src/hooks/use-bottom-placeholder.tsx | 71 +++ libs/ui-toolkit/.storybook/preview.js | 2 +- libs/withdraws/src/lib/withdrawals-table.tsx | 68 +-- 21 files changed, 714 insertions(+), 592 deletions(-) create mode 100644 libs/datagrid/src/lib/cells/centered-grid-cell.tsx create mode 100644 libs/react-helpers/src/hooks/use-bottom-placeholder.tsx diff --git a/apps/trading/client-pages/portfolio/deposits-container.tsx b/apps/trading/client-pages/portfolio/deposits-container.tsx index 917d4da13..94bef6141 100644 --- a/apps/trading/client-pages/portfolio/deposits-container.tsx +++ b/apps/trading/client-pages/portfolio/deposits-container.tsx @@ -2,10 +2,16 @@ import { AsyncRenderer, Button } from '@vegaprotocol/ui-toolkit'; import { useDepositDialog, DepositsTable } from '@vegaprotocol/deposits'; import { depositsProvider } from '@vegaprotocol/deposits'; import { t } from '@vegaprotocol/i18n'; -import { useDataProvider } from '@vegaprotocol/react-helpers'; +import { + useDataProvider, + useBottomPlaceholder, +} from '@vegaprotocol/react-helpers'; import { useVegaWallet } from '@vegaprotocol/wallet'; +import { useRef } from 'react'; +import type { AgGridReact } from 'ag-grid-react'; export const DepositsContainer = () => { + const gridRef = useRef(null); const { pubKey, isReadOnly } = useVegaWallet(); const { data, loading, error, reload } = useDataProvider({ dataProvider: depositsProvider, @@ -13,13 +19,15 @@ export const DepositsContainer = () => { skip: !pubKey, }); const openDepositDialog = useDepositDialog((state) => state.open); - + const bottomPlaceholderProps = useBottomPlaceholder({ gridRef }); return ( -
+
null} + ref={gridRef} + {...bottomPlaceholderProps} />
{
{!isReadOnly && ( -
+
-
- )}
+ {!isReadOnly && ( +
+ +
+ )} ); }; diff --git a/apps/trading/components/accounts-container/accounts-container.tsx b/apps/trading/components/accounts-container/accounts-container.tsx index 95f9f9ae2..2c8a58a4c 100644 --- a/apps/trading/components/accounts-container/accounts-container.tsx +++ b/apps/trading/components/accounts-container/accounts-container.tsx @@ -8,12 +8,15 @@ import { useVegaWallet } from '@vegaprotocol/wallet'; import type { PinnedAsset } from '@vegaprotocol/accounts'; import { AccountManager, useTransferDialog } from '@vegaprotocol/accounts'; import { useDepositDialog } from '@vegaprotocol/deposits'; +import { useParams } from 'react-router-dom'; export const AccountsContainer = ({ pinnedAsset, }: { pinnedAsset?: PinnedAsset; }) => { + const params = useParams(); + const hideButtons = 'marketId' in params; const { pubKey, isReadOnly } = useVegaWallet(); const { open: openAssetDetailsDialog } = useAssetDetailsDialogStore(); const openWithdrawalDialog = useWithdrawalDialog((store) => store.open); @@ -36,27 +39,30 @@ export const AccountsContainer = ({ } return ( -
-
- -
- {!isReadOnly && ( -
+
+ + {!isReadOnly && !hideButtons && ( +
-
diff --git a/apps/trading/components/footer/footer.tsx b/apps/trading/components/footer/footer.tsx index 3484f5f28..77eba74f6 100644 --- a/apps/trading/components/footer/footer.tsx +++ b/apps/trading/components/footer/footer.tsx @@ -14,7 +14,7 @@ export const Footer = () => { const { blockDiff, datanodeBlockHeight } = useNodeHealth(); return ( -