From 32db955f8c1876c2a355cd5e5fe4e7a3e382e732 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Fri, 13 Dec 2019 09:41:20 +0100 Subject: [PATCH] Small updates for V2 democracy (#2038) --- .../src/Overview/DispatchQueue.tsx | 25 +++++------ .../app-democracy/src/Overview/Summary.tsx | 44 ++++++------------- 2 files changed, 23 insertions(+), 46 deletions(-) diff --git a/packages/app-democracy/src/Overview/DispatchQueue.tsx b/packages/app-democracy/src/Overview/DispatchQueue.tsx index 160a1ea6c5f8..3958aa3346ed 100644 --- a/packages/app-democracy/src/Overview/DispatchQueue.tsx +++ b/packages/app-democracy/src/Overview/DispatchQueue.tsx @@ -3,23 +3,18 @@ // of the Apache-2.0 license. See the LICENSE file for details. import { I18nProps as Props } from '@polkadot/react-components/types'; -import { Hash, ReferendumIndex } from '@polkadot/types/interfaces'; -import { ITuple } from '@polkadot/types/types'; +import { BlockNumber, Hash, ReferendumIndex } from '@polkadot/types/interfaces'; -import React, { useState } from 'react'; +import React from 'react'; import { Table } from '@polkadot/react-components'; import { useApi, useCall } from '@polkadot/react-hooks'; -import { Option, StorageKey, Vec } from '@polkadot/types'; -import { u8aToHex } from '@polkadot/util'; import translate from '../translate'; -import DispatchBlock from './DispatchBlock'; +import DispatchEntry from './DispatchEntry'; function DispatchQueue ({ className, t }: Props): React.ReactElement | null { const { api } = useApi(); - const [keyPrefix] = useState(u8aToHex(api.query.democracy.dispatchQueue.creator.iterKey)); - const queued = useCall<[StorageKey, Option>>> - ][]>(api.query.democracy.dispatchQueue.entries as any, []); + const queued = useCall<[BlockNumber, Hash, ReferendumIndex][]>(api.query.democracy.dispatchQueue, []); if (!queued?.length) { return null; @@ -32,12 +27,12 @@ function DispatchQueue ({ className, t }: Props): React.ReactElement | nu ? ( - {queued.map(([storageKey, entries]): React.ReactNode => ( - ( + ))} diff --git a/packages/app-democracy/src/Overview/Summary.tsx b/packages/app-democracy/src/Overview/Summary.tsx index efb5d427893c..9a0dbc3e61e1 100644 --- a/packages/app-democracy/src/Overview/Summary.tsx +++ b/packages/app-democracy/src/Overview/Summary.tsx @@ -1,37 +1,26 @@ -/* eslint-disable @typescript-eslint/camelcase */ // Copyright 2017-2019 @polkadot/app-democracy authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { I18nProps } from '@polkadot/react-components/types'; +import { I18nProps as Props } from '@polkadot/react-components/types'; import BN from 'bn.js'; import React from 'react'; import { SummaryBox, CardSummary } from '@polkadot/react-components'; import { useApi, useCall } from '@polkadot/react-hooks'; -import { withCalls } from '@polkadot/react-api'; import { formatNumber } from '@polkadot/util'; import translate from '../translate'; -interface Props extends I18nProps { - chain_bestNumber?: BN; - democracy_nextTally?: BN; - democracy_publicPropCount?: BN; - democracy_referendumCount?: BN; -} +const ZERO = new BN(0); -function Summary (props: Props): React.ReactElement { +function Summary ({ t }: Props): React.ReactElement { const { api } = useApi(); const activeProposals = useCall(api.derive.democracy.proposals, []); - - const { - chain_bestNumber, - democracy_nextTally = new BN(0), - democracy_publicPropCount, - democracy_referendumCount = new BN(0), - t - } = props; + const bestNumber = useCall(api.derive.chain.bestNumber, []); + const nextActive = useCall(api.query.democracy?.lowestUnbaked || api.query.democracy.nextTally, []); + const publicPropCount = useCall(api.query.democracy.publicPropCount, []); + const referendumCount = useCall(api.query.democracy.referendumCount, []); return ( @@ -40,23 +29,23 @@ function Summary (props: Props): React.ReactElement { {formatNumber(activeProposals?.length)} - {formatNumber(democracy_publicPropCount)} + {formatNumber(publicPropCount)}
- {formatNumber(democracy_referendumCount.sub(democracy_nextTally))} + {formatNumber((referendumCount || ZERO).sub(nextActive || ZERO))} - {formatNumber(democracy_referendumCount)} + {formatNumber(referendumCount)}
- {chain_bestNumber && ( + {bestNumber && (
@@ -66,11 +55,4 @@ function Summary (props: Props): React.ReactElement { ); } -export default translate( - withCalls( - 'query.democracy.nextTally', - 'query.democracy.publicPropCount', - 'query.democracy.referendumCount', - 'derive.chain.bestNumber' - )(Summary) -); +export default translate(Summary);