import { DApp, TOKEN_PROPOSAL, useLinks } from '@vegaprotocol/environment'; import { getDateTimeFormat, t } from '@vegaprotocol/react-helpers'; import type { UpdateNetworkParameter } from '@vegaprotocol/types'; import { ProposalStateMapping } from '@vegaprotocol/types'; import { ProposalState } from '@vegaprotocol/types'; import type { Toast } from '@vegaprotocol/ui-toolkit'; import { useToasts } from '@vegaprotocol/ui-toolkit'; import { ExternalLink, Intent } from '@vegaprotocol/ui-toolkit'; import compact from 'lodash/compact'; import { useCallback } from 'react'; import type { UpdateNetworkParameterFieldsFragment } from './__generated__/Proposal'; import { useOnUpdateNetworkParametersSubscription } from './__generated__/Proposal'; const CLOSE_AFTER = 5000; type Proposal = UpdateNetworkParameterFieldsFragment; const UpdateNetworkParameterToastContent = ({ proposal, }: { proposal: Proposal; }) => { const tokenLink = useLinks(DApp.Token); const change = proposal.terms.change as UpdateNetworkParameter; const title = t('Network change proposal %s').replace( '%s', ProposalStateMapping[proposal.state].toLowerCase() ); const enactment = Date.parse(proposal.terms.enactmentDatetime); return (
' {t( `Update ${change.networkParameter.key} to ${change.networkParameter.value}` )} '
{!isNaN(enactment) && ({t('Enactment date:')} {getDateTimeFormat().format(enactment)}
)}