import { ProposalState } from '@vegaprotocol/types'; import { t } from '@vegaprotocol/i18n'; import { Icon, Intent } from '@vegaprotocol/ui-toolkit'; import type { ReactNode } from 'react'; export const getProposalDialogTitle = ( status?: ProposalState ): string | undefined => { if (!status) { return; } switch (status) { case ProposalState.STATE_OPEN: return t('Proposal submitted'); case ProposalState.STATE_WAITING_FOR_NODE_VOTE: return t('Proposal waiting for node vote'); case ProposalState.STATE_PASSED: return t('Proposal passed'); case ProposalState.STATE_ENACTED: return t('Proposal enacted'); case ProposalState.STATE_DECLINED: return t('Proposal declined'); case ProposalState.STATE_REJECTED: return t('Proposal rejected'); case ProposalState.STATE_FAILED: return t('Proposal failed'); default: return t('Submission failed'); } }; export const getProposalDialogIntent = ( status?: ProposalState ): Intent | undefined => { if (!status) { return; } switch (status) { case ProposalState.STATE_PASSED: case ProposalState.STATE_ENACTED: return Intent.Success; case ProposalState.STATE_OPEN: case ProposalState.STATE_WAITING_FOR_NODE_VOTE: return Intent.None; case ProposalState.STATE_REJECTED: case ProposalState.STATE_FAILED: case ProposalState.STATE_DECLINED: return Intent.Danger; default: return; } }; export const getProposalDialogIcon = ( status?: ProposalState ): ReactNode | undefined => { if (!status) { return; } switch (status) { case ProposalState.STATE_PASSED: case ProposalState.STATE_ENACTED: return ; case ProposalState.STATE_REJECTED: case ProposalState.STATE_FAILED: case ProposalState.STATE_DECLINED: return ; default: return; } };