From ebb0db3b37d57d4e4c6b1ff70f5bd5da24ae5aaa Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Thu, 28 Mar 2024 11:09:40 +0000 Subject: [PATCH] fix(governance): fix market info not showing in proposals (#6104) --- .../src/components/heading/heading.tsx | 2 +- .../proposal-market-data.tsx | 36 ++++++++++--------- .../proposal/proposal-change-details.tsx | 18 ++++++++-- .../components/proposal/proposal.tsx | 1 + apps/governance/src/styles.css | 2 +- 5 files changed, 38 insertions(+), 21 deletions(-) diff --git a/apps/governance/src/components/heading/heading.tsx b/apps/governance/src/components/heading/heading.tsx index 132d2c2a9..b030285f7 100644 --- a/apps/governance/src/components/heading/heading.tsx +++ b/apps/governance/src/components/heading/heading.tsx @@ -47,7 +47,7 @@ export const SubHeading = ({ return (

( const marketDataHeaderStyles = 'font-alpha calt text-base border-b border-vega-dark-200 mt-2 py-2'; -export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { +export const ProposalMarketData = ({ marketId }: { marketId: string }) => { const { t } = useTranslation(); const { isOpen, open, close } = useMarketDataDialogStore(); const [showDetails, setShowDetails] = useState(false); @@ -59,7 +59,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { dataProvider: marketInfoProvider, skipUpdates: true, variables: { - marketId: proposalId, + marketId: marketId, }, }); @@ -72,7 +72,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { }, }); - if (!marketData || !parentMarketData) { + if (!marketData) { return null; } @@ -134,13 +134,13 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => {

{t('Key details')}

{t('Instrument')}

{settlementData && @@ -156,7 +156,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { isParentSettlementDataEqual || isParentSettlementScheduleDataEqual ? undefined - : parentMarketData + : parentMarketData || undefined } /> @@ -169,7 +169,9 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { market={marketData} type="settlementData" parentMarket={ - isParentSettlementDataEqual ? undefined : parentMarketData + isParentSettlementDataEqual + ? undefined + : parentMarketData || undefined } /> @@ -185,7 +187,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { parentMarket={ isParentTerminationDataEqual ? undefined - : parentMarketData + : parentMarketData || undefined } /> @@ -203,7 +205,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => { parentMarket={ isParentSettlementScheduleDataEqual ? undefined - : parentMarketData + : parentMarketData || undefined } /> @@ -217,19 +219,19 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => {

{t('Settlement assets')}

{t('Metadata')}

{t('Risk model')}

@@ -237,13 +239,13 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => {

{t('Risk factors')}

{showParentPriceMonitoringBounds && ( @@ -268,14 +270,14 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => {

{t('Liquidity price range')}

@@ -283,7 +285,7 @@ export const ProposalMarketData = ({ proposalId }: { proposalId: string }) => {

diff --git a/apps/governance/src/routes/proposals/components/proposal/proposal-change-details.tsx b/apps/governance/src/routes/proposals/components/proposal/proposal-change-details.tsx index ae530a8d1..a80c2a04a 100644 --- a/apps/governance/src/routes/proposals/components/proposal/proposal-change-details.tsx +++ b/apps/governance/src/routes/proposals/components/proposal/proposal-change-details.tsx @@ -17,17 +17,20 @@ import { type ProposalNode } from './proposal-utils'; import { Lozenge } from '@vegaprotocol/ui-toolkit'; import { Indicator } from './indicator'; import { SubHeading } from '../../../../components/heading'; +import { determineId } from '@vegaprotocol/wallet'; export const ProposalChangeDetails = ({ proposal, terms, restData, indicator, + termsCount = 0, }: { proposal: Proposal | BatchProposal; terms: ProposalTermsFieldsFragment; restData: ProposalNode | null; indicator?: number; + termsCount?: number; }) => { const { t } = useTranslation(); let details = null; @@ -61,7 +64,18 @@ export const ProposalChangeDetails = ({ } case 'NewMarket': { if (proposal.id) { - details = ; + let marketId = proposal.id; + + // TODO: when https://github.com/vegaprotocol/vega/issues/11005 gets merged + // this will need to be updated to loop forward from 0. Right now subProposals + // are returned (when using GQL) in the reverse order + if (proposal.__typename === 'BatchProposal') { + for (let i = termsCount - 1; i >= 0; i--) { + marketId = determineId(marketId); + } + } + + details = ; } break; } @@ -69,7 +83,7 @@ export const ProposalChangeDetails = ({ if (proposal.id) { details = (
- + { proposal={proposal} terms={p.terms} restData={restData} + termsCount={proposal.subProposals?.length} /> ); }) diff --git a/apps/governance/src/styles.css b/apps/governance/src/styles.css index 78e5fbfb6..953615e91 100644 --- a/apps/governance/src/styles.css +++ b/apps/governance/src/styles.css @@ -13,7 +13,7 @@ } h1 { - @apply text-2xl text-white uppercase mb-4; + @apply text-2xl text-white mb-4; } h2 { @apply text-xl text-white mb-4;