From 0d8c052ec612780870007fe5a9939e6e58818b6f Mon Sep 17 00:00:00 2001 From: Dexter Edwards Date: Tue, 27 Sep 2022 13:59:09 +0100 Subject: [PATCH] fix: hide enacted on proposal details page for freeform proposals (#1503) --- apps/token/src/i18n/translations/dev.json | 3 ++- .../proposal-change-table.spec.tsx | 22 +++++++++++++++++++ .../proposal-change-table.tsx | 14 +++++++----- .../proposal-header.tsx | 3 +-- 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/apps/token/src/i18n/translations/dev.json b/apps/token/src/i18n/translations/dev.json index 8fd42589f..3d0881d68 100644 --- a/apps/token/src/i18n/translations/dev.json +++ b/apps/token/src/i18n/translations/dev.json @@ -686,5 +686,6 @@ "MoreMarketsInfo": "To see Explorer data on existing markets visit", "MoreAssetsInfo": "To see Explorer data on existing assets visit", "ProposalNotFound": "Proposal not found", - "ProposalNotFoundDetails": "The proposal you are looking for is not here, it may have been enacted before the last chain restore. You could check the Vega forums/discord instead for information about it." + "ProposalNotFoundDetails": "The proposal you are looking for is not here, it may have been enacted before the last chain restore. You could check the Vega forums/discord instead for information about it.", + "FreeformProposal": "Freeform proposal" } diff --git a/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.spec.tsx b/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.spec.tsx index c846c1272..ce763abbd 100644 --- a/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.spec.tsx +++ b/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.spec.tsx @@ -79,6 +79,28 @@ it('Changes data based on if data is in future or past', () => { ).toBeInTheDocument(); }); +it('Does not render enactment time for freeform proposal', () => { + const proposal = generateProposal({ + state: ProposalState.STATE_ENACTED, + terms: { + __typename: 'ProposalTerms', + change: { + __typename: 'NewFreeform', + }, + }, + }); + render(); + expect(screen.queryByText('Enacted on')).not.toBeInTheDocument(); + expect( + screen.queryByText( + format( + new Date(proposal.terms.enactmentDatetime || 0), + DATE_FORMAT_DETAILED + ) + ) + ).not.toBeInTheDocument(); +}); + it('Renders error details and rejection reason if present', () => { const errorDetails = 'Error message'; const proposal = generateProposal({ diff --git a/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.tsx b/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.tsx index 558b1596b..466ae2e41 100644 --- a/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.tsx +++ b/apps/token/src/routes/governance/components/proposal-change-table/proposal-change-table.tsx @@ -31,12 +31,14 @@ export const ProposalChangeTable = ({ proposal }: ProposalChangeTableProps) => { : t('closedOn')} {format(new Date(terms.closingDatetime), DATE_FORMAT_DETAILED)} - - {isFuture(new Date(terms.enactmentDatetime || 0)) - ? t('proposedEnactment') - : t('enactedOn')} - {format(new Date(terms.enactmentDatetime || 0), DATE_FORMAT_DETAILED)} - + {terms.change.__typename !== 'NewFreeform' ? ( + + {isFuture(new Date(terms.enactmentDatetime || 0)) + ? t('proposedEnactment') + : t('enactedOn')} + {format(new Date(terms.enactmentDatetime || 0), DATE_FORMAT_DETAILED)} + + ) : null} {t('proposedBy')} {proposal.party.id} diff --git a/apps/token/src/routes/governance/components/proposal-detail-header/proposal-header.tsx b/apps/token/src/routes/governance/components/proposal-detail-header/proposal-header.tsx index 28c392b69..18d0c786d 100644 --- a/apps/token/src/routes/governance/components/proposal-detail-header/proposal-header.tsx +++ b/apps/token/src/routes/governance/components/proposal-detail-header/proposal-header.tsx @@ -73,8 +73,7 @@ export const ProposalHeader = ({ proposal }: { proposal: ProposalFields }) => { break; } case 'NewFreeform': { - details = `${proposal.id}`; - + details = `${t('FreeformProposal')}: ${proposal.id}`; break; } }