From 846cf565283d1e1edacbb4d4132a857e7a00d5b4 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Tue, 21 May 2019 12:08:27 +0200 Subject: [PATCH] Re-add CopyButton on AddressSummary (#1180) --- packages/ui-app/src/AddressSummary.tsx | 17 ++++-- packages/ui-app/src/CopyButton.tsx | 72 ++++++++++++++++++----- packages/ui-app/src/IdentityIcon.tsx | 4 +- packages/ui-app/src/styles/components.css | 1 + 4 files changed, 73 insertions(+), 21 deletions(-) diff --git a/packages/ui-app/src/AddressSummary.tsx b/packages/ui-app/src/AddressSummary.tsx index 55e1903e18..a8913c43aa 100644 --- a/packages/ui-app/src/AddressSummary.tsx +++ b/packages/ui-app/src/AddressSummary.tsx @@ -15,6 +15,7 @@ import AvailableDisplay from './Available'; import { classes, getAddrName, toShortAddress } from './util'; import BalanceDisplay from './Balance'; import BondedDisplay from './Bonded'; +import CopyButton from './CopyButton'; import IdentityIcon from './IdentityIcon'; import translate from './translate'; import UnlockingDisplay from './Unlocking'; @@ -108,6 +109,16 @@ class AddressSummary extends React.PureComponent { ? accountId.toString() : DEFAULT_ADDR; const name = getAddrName(address, false, defaultName); + const addrElem = isShort + ? ( + + {toShortAddress(address)} + + ) + : address; return (
@@ -115,11 +126,7 @@ class AddressSummary extends React.PureComponent { {name}
- { - isShort - ? toShortAddress(address) - : address - } + {addrElem}
); diff --git a/packages/ui-app/src/CopyButton.tsx b/packages/ui-app/src/CopyButton.tsx index eb2b78ffcc..9ba821faac 100644 --- a/packages/ui-app/src/CopyButton.tsx +++ b/packages/ui-app/src/CopyButton.tsx @@ -3,37 +3,81 @@ // of the Apache-2.0 license. See the LICENSE file for details. import { Button$Sizes } from './Button/types'; -import { BareProps } from './types'; +import { QueueAction$Add } from './Status/types'; +import { BareProps, I18nProps } from './types'; import React from 'react'; import CopyToClipboard from 'react-copy-to-clipboard'; -import { classes } from './util'; +import { QueueConsumer } from './Status/Context'; import Button from './Button'; +import translate from './translate'; type Props = BareProps & { + children?: React.ReactNode, icon?: string, + isAddress?: boolean, isCircular?: boolean, isPrimary?: boolean, size?: Button$Sizes, value?: any }; -export default class CopyButton extends React.PureComponent { +type InnerProps = Props & I18nProps & { + queueAction: QueueAction$Add +}; + +class CopyButtonInner extends React.PureComponent { render () { - const { className, icon = 'copy', isCircular = true, isPrimary = true, size = 'tiny', style, value } = this.props; + const { children, className, icon = 'copy', isCircular = true, isPrimary = true, size = 'tiny', style, value } = this.props; return ( - -