From 8481fbfe8b0b30d46d4acdef674b09c66956a960 Mon Sep 17 00:00:00 2001 From: Jaco Date: Wed, 9 Feb 2022 12:29:14 +0100 Subject: [PATCH] Format percentages consistently (#6955) --- packages/page-democracy/src/Overview/Referendum.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/page-democracy/src/Overview/Referendum.tsx b/packages/page-democracy/src/Overview/Referendum.tsx index 0ec4fe4855..9196fa5643 100644 --- a/packages/page-democracy/src/Overview/Referendum.tsx +++ b/packages/page-democracy/src/Overview/Referendum.tsx @@ -35,6 +35,10 @@ interface VoteType { hasVotedAye: boolean; } +function percentage (val: BN, div: BN): string { + return Math.min(100, val.muln(10000).div(div).toNumber() / 100).toFixed(2); +} + function Referendum ({ className = '', value: { allAye, allNay, image, imageHash, index, isPassing, status, voteCountAye, voteCountNay, votedAye, votedNay, votedTotal } }: Props): React.ReactElement | null { const { t } = useTranslation(); const { api } = useApi(); @@ -58,11 +62,11 @@ function Referendum ({ className = '', value: { allAye, allNay, image, imageHash { aye: votedTotal.isZero() ? '' - : `${(aye.muln(10000).div(votedTotal).toNumber() / 100).toFixed(2)}%`, + : `${percentage(aye, votedTotal)}%`, nay: votedTotal.isZero() ? '' - : `${(nay.muln(10000).div(votedTotal).toNumber() / 100).toFixed(2)}%`, - turnout: `${((votedTotal.muln(10000).div(totalIssuance).toNumber()) / 100).toFixed(2)}%` + : `${percentage(nay, votedTotal)}%`, + turnout: `${percentage(votedTotal, totalIssuance)}%` }, { hasVoted: hasVotedAye || allNay.some(({ accountId }) => allAccounts.includes(accountId.toString())),