mirror of
https://github.com/status-im/ens-usernames.git
synced 2025-03-03 11:30:43 +00:00
add initial display of status account in resolver UI
This commit is contained in:
parent
ef4ff22ed5
commit
8e69076c85
@ -23,12 +23,15 @@ const addressStyle = {
|
|||||||
fontSize: '18px',
|
fontSize: '18px',
|
||||||
fontWeight: 400,
|
fontWeight: 400,
|
||||||
margin: '3% 0 3% 0',
|
margin: '3% 0 3% 0',
|
||||||
cursor: 'copy'
|
cursor: 'copy',
|
||||||
|
textAlign: 'center',
|
||||||
|
wordWrap: 'break-word'
|
||||||
}
|
}
|
||||||
|
|
||||||
const backButton = {
|
const backButton = {
|
||||||
fontSize: '40px',
|
fontSize: '40px',
|
||||||
color: theme.accent
|
color: theme.accent,
|
||||||
|
cursor: 'pointer'
|
||||||
}
|
}
|
||||||
|
|
||||||
class DisplayAddress extends PureComponent {
|
class DisplayAddress extends PureComponent {
|
||||||
@ -36,7 +39,7 @@ class DisplayAddress extends PureComponent {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { copied } = this.state
|
const { copied } = this.state
|
||||||
const { domainName, address, setStatus } = this.props
|
const { domainName, address, statusAccount, setStatus } = this.props
|
||||||
const markCopied = () => { this.setState({ copied: !copied }) }
|
const markCopied = () => { this.setState({ copied: !copied }) }
|
||||||
const validAddress = address != nullAddress;
|
const validAddress = address != nullAddress;
|
||||||
return (
|
return (
|
||||||
@ -47,6 +50,9 @@ class DisplayAddress extends PureComponent {
|
|||||||
<CopyToClipboard text={address} onCopy={markCopied}>
|
<CopyToClipboard text={address} onCopy={markCopied}>
|
||||||
<div style={addressStyle}>{address}</div>
|
<div style={addressStyle}>{address}</div>
|
||||||
</CopyToClipboard>
|
</CopyToClipboard>
|
||||||
|
<CopyToClipboard text={statusAccount} onCopy={markCopied}>
|
||||||
|
<div style={addressStyle}>{statusAccount}</div>
|
||||||
|
</CopyToClipboard>
|
||||||
{copied &&
|
{copied &&
|
||||||
<Info background={theme.positive} style={copiedText}>
|
<Info background={theme.positive} style={copiedText}>
|
||||||
<span>COPIED</span>
|
<span>COPIED</span>
|
||||||
@ -85,19 +91,23 @@ const InnerForm = ({
|
|||||||
Get Address
|
Get Address
|
||||||
</Button>
|
</Button>
|
||||||
</form>
|
</form>
|
||||||
: <DisplayAddress domainName={values.domainName} address={status} setStatus={setStatus}/>}
|
: <DisplayAddress
|
||||||
|
domainName={values.domainName}
|
||||||
|
address={status.address}
|
||||||
|
statusAccount={status.statusAccount}
|
||||||
|
setStatus={setStatus}/>}
|
||||||
</Card>
|
</Card>
|
||||||
)
|
)
|
||||||
|
|
||||||
const NameLookup = withFormik({
|
const NameLookup = withFormik({
|
||||||
mapPropsToValues: props => ({ domainName: '' }),
|
mapPropsToValues: props => ({ domainName: '' }),
|
||||||
handleSubmit(values, { setSubmitting, setStatus }) {
|
async handleSubmit(values, { status, setSubmitting, setStatus }) {
|
||||||
const { domainName } = values;
|
const { domainName } = values;
|
||||||
PublicResolver.methods.addr(hash(formatName(domainName)))
|
const { addr, text } = PublicResolver.methods;
|
||||||
.call()
|
const lookupHash = hash(formatName(domainName));
|
||||||
.then(res =>{
|
const address = await addr(lookupHash).call();
|
||||||
setStatus(res)
|
const statusAccount = await text(lookupHash, 'statusAccount').call();
|
||||||
});
|
setStatus({ address, statusAccount });
|
||||||
}
|
}
|
||||||
})(InnerForm)
|
})(InnerForm)
|
||||||
|
|
||||||
|
@ -55,11 +55,21 @@ const InnerForm = ({
|
|||||||
label="Domain Price"
|
label="Domain Price"
|
||||||
disabled
|
disabled
|
||||||
value={values.price ? `${Number(values.price).toLocaleString()} SNT` : ''} />
|
value={values.price ? `${Number(values.price).toLocaleString()} SNT` : ''} />
|
||||||
|
<FieldGroup
|
||||||
|
id="statusAddress"
|
||||||
|
name="statusAddress"
|
||||||
|
type="text"
|
||||||
|
label="Status messenger address domain resolves to"
|
||||||
|
onChange={handleChange}
|
||||||
|
onBlur={handleBlur}
|
||||||
|
value={values.statusAddress}
|
||||||
|
error={errors.statusAddress}
|
||||||
|
/>
|
||||||
<FieldGroup
|
<FieldGroup
|
||||||
id="address"
|
id="address"
|
||||||
name="address"
|
name="address"
|
||||||
type="text"
|
type="text"
|
||||||
label="Address domain resolves to"
|
label="Address domain resolves to (optional)"
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
onBlur={handleBlur}
|
onBlur={handleBlur}
|
||||||
value={values.address}
|
value={values.address}
|
||||||
@ -80,18 +90,19 @@ const RegisterSubDomain = withFormik({
|
|||||||
return errors;
|
return errors;
|
||||||
},
|
},
|
||||||
handleSubmit(values, { setSubmitting }) {
|
handleSubmit(values, { setSubmitting }) {
|
||||||
const { subDomain, domainName, address } = values;
|
const { subDomain, domainName, address, statusAddress } = values;
|
||||||
const { methods: { register } } = ENSSubdomainRegistry;
|
const { methods: { register } } = ENSSubdomainRegistry;
|
||||||
let subdomainHash = soliditySha3(subDomain);
|
const subdomainHash = soliditySha3(subDomain);
|
||||||
let domainNameHash = hash(domainName);
|
const domainNameHash = hash(domainName);
|
||||||
let resolveToAddr = address || zeroAddress;
|
const resolveToAddr = address || zeroAddress;
|
||||||
|
|
||||||
let toSend = register(
|
const toSend = register(
|
||||||
subdomainHash,
|
subdomainHash,
|
||||||
domainNameHash,
|
domainNameHash,
|
||||||
resolveToAddr,
|
resolveToAddr,
|
||||||
zeroBytes32,
|
zeroBytes32,
|
||||||
zeroBytes32
|
zeroBytes32,
|
||||||
|
statusAddress || zeroBytes32
|
||||||
);
|
);
|
||||||
toSend.estimateGas().then(gasEstimated => {
|
toSend.estimateGas().then(gasEstimated => {
|
||||||
console.log("Register would work. :D Gas estimated: "+gasEstimated)
|
console.log("Register would work. :D Gas estimated: "+gasEstimated)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user