diff --git a/packages/app-accounts/package.json b/packages/app-accounts/package.json index 94c7a30c9e..a1a56dc1cf 100644 --- a/packages/app-accounts/package.json +++ b/packages/app-accounts/package.json @@ -12,6 +12,7 @@ "dependencies": { "@babel/runtime": "^7.5.5", "@polkadot/react-components": "^0.35.0-beta.35", + "@polkadot/react-qr": "^0.43.0-beta.11", "@types/file-saver": "^2.0.0", "@types/yargs": "^13.0.2", "babel-plugin-module-resolver": "^3.1.1", diff --git a/packages/app-accounts/src/Account.tsx b/packages/app-accounts/src/Account.tsx index bc7d0272e6..a58f399570 100644 --- a/packages/app-accounts/src/Account.tsx +++ b/packages/app-accounts/src/Account.tsx @@ -24,6 +24,7 @@ interface State { genesisHash: string | null; isBackupOpen: boolean; isEditable: boolean; + isExternal: boolean; isForgetOpen: boolean; isPasswordOpen: boolean; isTransferOpen: boolean; @@ -43,6 +44,7 @@ class Account extends React.PureComponent { isEditable: account ? !(account.meta.isInjected) : false, + isExternal: (account && account.meta.isExternal) || false, isForgetOpen: false, isPasswordOpen: false, isTransferOpen: false @@ -188,20 +190,22 @@ class Account extends React.PureComponent { private renderButtons (): React.ReactNode { const { t } = this.props; - const { genesisHash, isEditable } = this.state; + const { genesisHash, isEditable, isExternal } = this.state; return (
{isEditable && ( +
- {isEditable && ( + {isEditable && !isExternal && (
{ public constructor (props: Props) { super(props); - const { state: { isCreateOpen = false } = {} } = this.props.location; - this.state = { - isCreateOpen, - isImportOpen: false + isCreateOpen: false, + isImportOpen: false, + isQrOpen: false }; } public render (): React.ReactNode { - const { accounts, t } = this.props; - const { isCreateOpen, isImportOpen } = this.state; - const emptyScreen = !isCreateOpen && !isImportOpen && (!accounts || Object.keys(accounts).length === 0); + const { accounts = [], onStatusChange, t } = this.props; + const { isCreateOpen, isImportOpen, isQrOpen } = this.state; + const emptyScreen = !(isCreateOpen || isImportOpen || isQrOpen) && (Object.keys(accounts).length === 0); return ( { label={t('Restore JSON')} onClick={this.toggleImport} /> + +