ghost-portal/packages/ui-reactive/src/Nonce.tsx
Jaco Greeff 83c3f115fd
Render AddressInfo directly from balances.all (#1220)
* Render AddressInfo directly from balances.all

* lint

* Bumps (linting fixes)
2019-05-27 21:23:25 +02:00

45 lines
1.2 KiB
TypeScript

// Copyright 2017-2019 @polkadot/ui-reactive 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 { DerivedBalances } from '@polkadot/api-derive/types';
import { BareProps, CallProps } from '@polkadot/ui-api/types';
import BN from 'bn.js';
import React from 'react';
import { formatNumber } from '@polkadot/util';
import { withCalls } from '@polkadot/ui-api';
type Props = BareProps & CallProps & {
accountNonce?: BN,
callOnResult?: (accountNonce: BN) => void,
children?: React.ReactNode,
label?: React.ReactNode,
params?: string
};
export class Nonce extends React.PureComponent<Props> {
render () {
const { accountNonce, children, className, label = '' } = this.props;
return (
<div className={className}>
{label}{
accountNonce
? formatNumber(accountNonce)
: '0'
}{children}
</div>
);
}
}
export default withCalls<Props>(
['derive.balances.all', {
paramName: 'params',
propName: 'accountNonce',
transform: ({ accountNonce }: DerivedBalances) =>
accountNonce
}]
)(Nonce);