diff --git a/app/components/ens/nameLookup.js b/app/components/ens/nameLookup.js index 325ef79..c21ccda 100644 --- a/app/components/ens/nameLookup.js +++ b/app/components/ens/nameLookup.js @@ -37,6 +37,31 @@ const backButton = { cursor: 'pointer' } +class RenderAddresses extends PureComponent { + state = { copied: false } + + render() { + const { domainName, address, statusAccount } = this.props + const { copied } = this.state + const markCopied = (v) => { this.setState({ copied: v }) } + const isCopied = address => address == copied; + const renderCopied = address => isCopied(address) && Copied!; + return ( +
+ {formatName(domainName).toUpperCase()} Resolves To: + {address && Ethereum Address {renderCopied(address)}} + +
{address}
+
+ {validStatusAddress(statusAccount) && Status Address {renderCopied(statusAccount)}} + {validStatusAddress(statusAccount) && +
{statusAccount}
+
} +
+ ) + } +} + class Register extends PureComponent { state = { domainPrice: null }; @@ -49,57 +74,40 @@ class Register extends PureComponent { render() { const { domainName, setStatus } = this.props; - const { domainPrice } = this.state; + const { domainPrice, registered } = this.state; const formattedDomain = formatName(domainName); const formattedDomainArray = formattedDomain.split('.') return ( - - {formattedDomain.toUpperCase()} can be registered for {domainPrice} SNT - - this.setState({ registered: { address, statusAccount } })} /> + {!registered ? + + + {formattedDomain.toUpperCase()} can be registered for {domainPrice} SNT + + this.setState({ registered: { address, statusAccount } })} /> + : + }
setStatus(null)}>←
) } } -class DisplayAddress extends PureComponent { - state = { copied: false } - - render() { - const { copied } = this.state - const { domainName, address, statusAccount, setStatus } = this.props - const markCopied = (v) => { this.setState({ copied: v }) } - const isCopied = address => address == copied; - const renderCopied = address => isCopied(address) && Copied!; - return ( - - {validAddress(address) ? -
- {formatName(domainName).toUpperCase()} Resolves To: - {address && Ethereum Address {renderCopied(address)}} - -
{address}
-
- {validStatusAddress(statusAccount) && Status Address {renderCopied(statusAccount)}} - {validStatusAddress(statusAccount) && -
{statusAccount}
-
} -
-: - - {domainName.toUpperCase()} - } -
setStatus(null)}>←
-
- ) - } -} +const DisplayAddress = ({ domainName, address, statusAccount, setStatus }) => ( + + {validAddress(address) ? + + : + + {domainName.toUpperCase()} + } +
setStatus(null)}>←
+
+) const InnerForm = ({ values, diff --git a/app/components/ens/registerSubDomain.js b/app/components/ens/registerSubDomain.js index ba0cbe8..828b78f 100644 --- a/app/components/ens/registerSubDomain.js +++ b/app/components/ens/registerSubDomain.js @@ -128,7 +128,8 @@ const RegisterSubDomain = withFormik({ console.log("Register send errored. :( Out of gas?") console.dir(err) }).finally(() => { - registeredCallbackFn(resolveToAddr, resolveToStatusAddr); + // REQUIRED UNTIL THIS ISSUES IS RESOLVED: https://github.com/jaredpalmer/formik/issues/597 + setTimeout(() => { registeredCallbackFn(resolveToAddr, resolveToStatusAddr); }, 200); setSubmitting(false); }); }).catch(err => {