diff --git a/apps/trading/client-pages/markets/proposed.tsx b/apps/trading/client-pages/markets/proposed.tsx index 3c4a4d529..25f5a5252 100644 --- a/apps/trading/client-pages/markets/proposed.tsx +++ b/apps/trading/client-pages/markets/proposed.tsx @@ -12,7 +12,7 @@ export const Proposed = () => { const externalLink = tokenLink(TOKEN_NEW_MARKET_PROPOSAL); return ( <> -
+
diff --git a/libs/proposals/src/components/proposals-list/proposals-list.tsx b/libs/proposals/src/components/proposals-list/proposals-list.tsx index 063f95b15..5521e735b 100644 --- a/libs/proposals/src/components/proposals-list/proposals-list.tsx +++ b/libs/proposals/src/components/proposals-list/proposals-list.tsx @@ -1,13 +1,13 @@ import { useCallback, useEffect, useRef, useState } from 'react'; import { AsyncRenderer } from '@vegaprotocol/ui-toolkit'; import { AgGridLazy as AgGrid } from '@vegaprotocol/datagrid'; -import { useDataProvider } from '@vegaprotocol/data-provider'; import { t } from '@vegaprotocol/i18n'; import * as Types from '@vegaprotocol/types'; -import { proposalsDataProvider } from '../../lib/proposals-data-provider'; import type { AgGridReact } from 'ag-grid-react'; import { useColumnDefs } from './use-column-defs'; import type { ProposalListFieldsFragment } from '../../lib/proposals-data-provider/__generated__/Proposals'; +import { useProposalsListQuery } from '../../lib/proposals-data-provider/__generated__/Proposals'; +import { removePaginationWrapper } from '@vegaprotocol/utils'; export const getNewMarketProposals = (data: ProposalListFieldsFragment[]) => data.filter((proposal) => @@ -21,13 +21,15 @@ export const getNewMarketProposals = (data: ProposalListFieldsFragment[]) => export const ProposalsList = () => { const gridRef = useRef(null); const [dataCount, setDataCount] = useState(0); - const { data, loading, error, reload } = useDataProvider({ - dataProvider: proposalsDataProvider, + const { data, loading, error, refetch } = useProposalsListQuery({ variables: { proposalType: Types.ProposalType.TYPE_NEW_MARKET, }, + errorPolicy: 'all', // currently there are some proposals failing due to proposals existing without settlement asset ids }); - const filteredData = getNewMarketProposals(data || []); + const filteredData = getNewMarketProposals( + removePaginationWrapper(data?.proposalsConnection?.edges) + ); const { columnDefs, defaultColDef } = useColumnDefs(); useEffect(() => { setDataCount(gridRef.current?.api?.getModel().getRowCount() ?? 0); @@ -36,11 +38,10 @@ export const ProposalsList = () => { setDataCount(gridRef.current?.api?.getModel().getRowCount() ?? 0); }, []); return ( -
+
{ suppressNoRowsOverlay onFilterChanged={onFilterChanged} storeKey="proposedMarkets" + getRowId={({ data }) => data.id} + style={{ width: '100%', height: '100%' }} />
{ data={filteredData} noDataMessage={t('No markets')} noDataCondition={() => !dataCount} - reload={reload} + reload={refetch} />