From 4b85bcf612e9a55684d10b4aedbb56c1f9be36cf Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Tue, 26 Mar 2019 13:32:43 +0100 Subject: [PATCH] Add chill functionality (#847) --- packages/app-staking/src/Account/Bonding.tsx | 7 +- .../app-staking/src/Account/Controller.tsx | 3 +- .../app-staking/src/Account/Nominating.tsx | 7 +- packages/app-staking/src/Account/Staking.tsx | 8 +-- packages/app-staking/src/Account/index.tsx | 71 +++++++++++++++---- packages/ui-app/src/TxButton.tsx | 13 ++-- 6 files changed, 77 insertions(+), 32 deletions(-) diff --git a/packages/app-staking/src/Account/Bonding.tsx b/packages/app-staking/src/Account/Bonding.tsx index 617f3c648a..57dad38795 100644 --- a/packages/app-staking/src/Account/Bonding.tsx +++ b/packages/app-staking/src/Account/Bonding.tsx @@ -6,14 +6,13 @@ import { I18nProps } from '@polkadot/ui-app/types'; import BN from 'bn.js'; import React from 'react'; -import { AccountId } from '@polkadot/types'; import { Button, InputAddress, InputBalance, Modal, TxButton, Dropdown } from '@polkadot/ui-app'; import translate from '../translate'; type Props = I18nProps & { accountId: string, - controllerId: AccountId, + controllerId: string, isOpen: boolean, onClose: () => void }; @@ -85,15 +84,15 @@ class Bonding extends React.PureComponent { void }; diff --git a/packages/app-staking/src/Account/Nominating.tsx b/packages/app-staking/src/Account/Nominating.tsx index ef1fcbb4b4..e9ee2620d3 100644 --- a/packages/app-staking/src/Account/Nominating.tsx +++ b/packages/app-staking/src/Account/Nominating.tsx @@ -5,7 +5,6 @@ import { I18nProps } from '@polkadot/ui-app/types'; import React from 'react'; -import { AccountId } from '@polkadot/types'; import { Button, Input, InputAddress, Modal, TxButton } from '@polkadot/ui-app'; import keyring from '@polkadot/ui-keyring'; @@ -16,7 +15,7 @@ type Props = I18nProps & { isOpen: boolean, onClose: () => void, intentions: Array, - stashId: AccountId, + stashId: string, validators: Array }; @@ -92,15 +91,15 @@ class Nominating extends React.PureComponent { void, preferences: ValidatorPrefs, - stashId: AccountId + stashId: string }; type State = { @@ -103,15 +103,15 @@ class Staking extends React.PureComponent { { @@ -50,6 +51,7 @@ class Account extends React.PureComponent { isControllerOpen: false, isNominateOpen: false, isStakingOpen: false, + isUnbondOpen: false, bondedId: null, controllerId: null, nomineeId: null, @@ -58,17 +60,17 @@ class Account extends React.PureComponent { static getDerivedStateFromProps ({ session_nextKeyFor, staking_bonded, staking_ledger, staking_nominating }: Props): Partial { return { - bondedId: staking_bonded - ? staking_bonded.unwrapOr(null) + bondedId: staking_bonded && staking_bonded.isSome + ? staking_bonded.unwrap().toString() : null, - controllerId: session_nextKeyFor - ? session_nextKeyFor.unwrapOr(null) + controllerId: session_nextKeyFor && session_nextKeyFor.isSome + ? session_nextKeyFor.unwrap().toString() : null, - nomineeId: staking_nominating - ? staking_nominating.unwrapOr(null) + nomineeId: staking_nominating && staking_nominating.isSome + ? staking_nominating.unwrap().toString() : null, stashId: staking_ledger && staking_ledger.isSome - ? staking_ledger.unwrap().stash + ? staking_ledger.unwrap().stash.toString() : null }; } @@ -149,6 +151,24 @@ class Account extends React.PureComponent { ); } + // private renderUnbond () { + // const { accountId } = this.props; + // const { controllerId, isBondingOpen } = this.state; + + // if (!controllerId) { + // return null; + // } + + // return ( + // + // ); + // } + private renderNominee () { const { balanceArray } = this.props; const { nomineeId } = this.state; @@ -208,7 +228,7 @@ class Account extends React.PureComponent { } private renderButtons () { - const { t } = this.props; + const { accountId, t } = this.props; const { controllerId, stashId } = this.state; const buttons = []; @@ -235,6 +255,15 @@ class Account extends React.PureComponent { ); } } else { + // buttons.push( + //