From c05c1b86ec00c16a4209d6232907642621fb78b0 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Thu, 14 Nov 2019 09:29:09 +0100 Subject: [PATCH] Adjust extrinsic selection display, UI alignment (#1878) --- packages/app-extrinsics/src/Selection.tsx | 36 +++------------------- packages/react-query/src/BalanceFree.tsx | 36 ++++++++++++++++++++++ packages/react-query/src/BalanceVoting.tsx | 2 +- packages/react-query/src/FormatBalance.tsx | 4 ++- packages/react-query/src/index.ts | 3 +- 5 files changed, 47 insertions(+), 34 deletions(-) create mode 100644 packages/react-query/src/BalanceFree.tsx diff --git a/packages/app-extrinsics/src/Selection.tsx b/packages/app-extrinsics/src/Selection.tsx index ccf216493b..2ab6a3263d 100644 --- a/packages/app-extrinsics/src/Selection.tsx +++ b/packages/app-extrinsics/src/Selection.tsx @@ -8,13 +8,11 @@ import { QueueTxExtrinsicAdd } from '@polkadot/react-components/Status/types'; import { ApiProps } from '@polkadot/react-api/types'; import { SubmittableExtrinsic } from '@polkadot/api/promise/types'; -import BN from 'bn.js'; import React from 'react'; -import { Button, Extrinsic, InputAddress, Labelled, TxButton, TxComponent } from '@polkadot/react-components'; +import { Button, Extrinsic, InputAddress, TxButton, TxComponent } from '@polkadot/react-components'; import { withApi, withMulti } from '@polkadot/react-api'; -import { Nonce } from '@polkadot/react-query'; +import { BalanceFree } from '@polkadot/react-query'; -import Balance from './Balance'; import translate from './translate'; interface Props extends ApiProps, I18nProps { @@ -25,7 +23,6 @@ interface State { isValid: boolean; isValidUnsigned: boolean; method: Call | null; - accountNonce?: BN; accountId?: string | null; } @@ -45,34 +42,16 @@ class Selection extends TxComponent {
{t('free balance')}} params={accountId} />} onChange={this.onChangeSender} type='account' /> -
- - - - -
-

-

{ private nextState (newState: Partial): void { this.setState( (prevState: State): State => { - const { method = prevState.method, accountNonce = prevState.accountNonce, accountId = prevState.accountId } = newState; + const { method = prevState.method, accountId = prevState.accountId } = newState; const isValid = !!( accountId && accountId.length && @@ -111,7 +90,6 @@ class Selection extends TxComponent { method, isValid, isValidUnsigned: !!method, - accountNonce, accountId }; } @@ -122,12 +100,8 @@ class Selection extends TxComponent { this.nextState({ method }); } - private onChangeNonce = (accountNonce: BN = new BN(0)): void => { - this.nextState({ accountNonce }); - } - private onChangeSender = (accountId: string | null): void => { - this.nextState({ accountId, accountNonce: new BN(0) }); + this.nextState({ accountId }); } private getExtrinsic (): SubmittableExtrinsic | null { diff --git a/packages/react-query/src/BalanceFree.tsx b/packages/react-query/src/BalanceFree.tsx new file mode 100644 index 0000000000..6568bf03d9 --- /dev/null +++ b/packages/react-query/src/BalanceFree.tsx @@ -0,0 +1,36 @@ +/* eslint-disable @typescript-eslint/camelcase */ +// Copyright 2017-2019 @polkadot/react-query 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 { BareProps, CallProps } from '@polkadot/react-api/types'; +import { DerivedBalances } from '@polkadot/api-derive/types'; +import { AccountId, AccountIndex, Address } from '@polkadot/types/interfaces'; + +import React from 'react'; +import { withCalls } from '@polkadot/react-api'; + +import FormatBalance from './FormatBalance'; + +interface Props extends BareProps, CallProps { + balances_all?: DerivedBalances; + children?: React.ReactNode; + label?: React.ReactNode; + params?: AccountId | AccountIndex | Address | string | Uint8Array | null; +} + +function BalanceFree ({ balances_all, children, className, label }: Props): React.ReactElement { + return ( + + {children} + + ); +} + +export default withCalls( + ['derive.balances.all', { paramName: 'params' }] +)(BalanceFree); diff --git a/packages/react-query/src/BalanceVoting.tsx b/packages/react-query/src/BalanceVoting.tsx index 2ac5be92c2..733fbaee27 100644 --- a/packages/react-query/src/BalanceVoting.tsx +++ b/packages/react-query/src/BalanceVoting.tsx @@ -24,7 +24,7 @@ function BalanceVoting ({ balances_all, children, className, label }: Props): Re {children} diff --git a/packages/react-query/src/FormatBalance.tsx b/packages/react-query/src/FormatBalance.tsx index d91a5f90ae..4ab4425c23 100644 --- a/packages/react-query/src/FormatBalance.tsx +++ b/packages/react-query/src/FormatBalance.tsx @@ -41,11 +41,13 @@ export default styled(FormatBalance)` vertical-align: middle; * { - vertical-align: middle; + vertical-align: baseline; } > label, > .label { + display: inline; margin-right: 0.25rem; + vertical-align: baseline; } `; diff --git a/packages/react-query/src/index.ts b/packages/react-query/src/index.ts index 4b40d62679..f7c5b7948c 100644 --- a/packages/react-query/src/index.ts +++ b/packages/react-query/src/index.ts @@ -6,7 +6,7 @@ export { default as AccountIndex } from './AccountIndex'; export { default as AccountName } from './AccountName'; export { default as Available } from './Available'; export { default as Balance } from './Balance'; -export { default as FormatBalance } from './FormatBalance'; +export { default as BalanceFree } from './BalanceFree'; export { default as BalanceVoting } from './BalanceVoting'; export { BlockAuthors, BlockAuthorsContext } from './BlockAuthors'; export { default as Bonded } from './Bonded'; @@ -15,6 +15,7 @@ export { default as BestNumber } from './BestNumber'; export { default as Chain } from './Chain'; export { default as Elapsed } from './Elapsed'; export { Events, EventsContext } from './Events'; +export { default as FormatBalance } from './FormatBalance'; export { default as LockedVote } from './LockedVote'; export { default as NodeName } from './NodeName'; export { default as NodeVersion } from './NodeVersion';