add enable token permissions to mobile registration screen
This commit is contained in:
parent
b267cdeb63
commit
7f1540d387
|
@ -11,6 +11,7 @@ import { zeroAddress, zeroBytes32, formatPrice } from './utils';
|
||||||
import { getStatusContactCode, getSNTAllowance } from '../../reducers/accounts';
|
import { getStatusContactCode, getSNTAllowance } from '../../reducers/accounts';
|
||||||
import FieldGroup from '../standard/FieldGroup';
|
import FieldGroup from '../standard/FieldGroup';
|
||||||
import LinearProgress from '@material-ui/core/LinearProgress';
|
import LinearProgress from '@material-ui/core/LinearProgress';
|
||||||
|
import TokenPermissions from '../standard/TokenPermissionConnect';
|
||||||
import { generateXY } from '../../utils/ecdsa';
|
import { generateXY } from '../../utils/ecdsa';
|
||||||
|
|
||||||
const { soliditySha3, fromWei } = web3.utils;
|
const { soliditySha3, fromWei } = web3.utils;
|
||||||
|
@ -18,7 +19,6 @@ const { soliditySha3, fromWei } = web3.utils;
|
||||||
const InnerForm = ({
|
const InnerForm = ({
|
||||||
values,
|
values,
|
||||||
errors,
|
errors,
|
||||||
touched,
|
|
||||||
handleChange,
|
handleChange,
|
||||||
handleBlur,
|
handleBlur,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
|
@ -27,102 +27,108 @@ const InnerForm = ({
|
||||||
subDomain,
|
subDomain,
|
||||||
domainName,
|
domainName,
|
||||||
domainPrice,
|
domainPrice,
|
||||||
statusContactCode,
|
SNTAllowance,
|
||||||
}) => (
|
}) => (
|
||||||
<form onSubmit={handleSubmit}>
|
<form onSubmit={handleSubmit}>
|
||||||
<div style={{ margin: '10px' }}>
|
<div style={{ margin: '10px' }}>
|
||||||
{!subDomain &&
|
{!subDomain &&
|
||||||
<FieldGroup
|
<FieldGroup
|
||||||
id="subDomain"
|
id="subDomain"
|
||||||
name="subDomain"
|
name="subDomain"
|
||||||
type="text"
|
type="text"
|
||||||
label="Sub Domain"
|
label="Sub Domain"
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
onBlur={handleBlur}
|
onBlur={handleBlur}
|
||||||
value={values.subDomain}
|
value={values.subDomain}
|
||||||
error={errors.subDomain}
|
error={errors.subDomain}
|
||||||
/>}
|
/>}
|
||||||
{!domainName &&
|
{!domainName &&
|
||||||
<FieldGroup
|
<FieldGroup
|
||||||
id="domainName"
|
id="domainName"
|
||||||
name="domainName"
|
name="domainName"
|
||||||
type="text"
|
type="text"
|
||||||
label="Domain Name"
|
label="Domain Name"
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
onBlur={handleBlur}
|
onBlur={handleBlur}
|
||||||
value={values.domainName}
|
value={values.domainName}
|
||||||
button={
|
button={
|
||||||
<Button
|
<Button
|
||||||
mode="strong"
|
mode="strong"
|
||||||
style={{ marginTop: '5px' }}
|
style={{ marginTop: '5px' }}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
ENSSubdomainRegistry.methods.getPrice(hash(values.domainName))
|
ENSSubdomainRegistry.methods.getPrice(hash(values.domainName))
|
||||||
.call()
|
.call()
|
||||||
.then((res) => { setFieldValue('price', fromWei(res)); });
|
.then((res) => { setFieldValue('price', fromWei(res)); });
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Get Price
|
Get Price
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
/>}
|
/>}
|
||||||
{!domainPrice &&
|
{!domainPrice &&
|
||||||
<FieldGroup
|
<FieldGroup
|
||||||
id="price"
|
id="price"
|
||||||
name="price"
|
name="price"
|
||||||
label="Domain Price"
|
label="Domain Price"
|
||||||
disabled
|
disabled
|
||||||
value={values.price ? `${formatPrice(values.price)} SNT` : ''} />}
|
value={values.price ? `${formatPrice(values.price)} SNT` : ''} />}
|
||||||
<Hidden mdDown>
|
<Hidden mdDown>
|
||||||
<FieldGroup
|
<FieldGroup
|
||||||
id="statusAddress"
|
id="statusAddress"
|
||||||
name="statusAddress"
|
|
||||||
type="text"
|
|
||||||
label="Status messenger address domain resolves to"
|
|
||||||
onChange={handleChange}
|
|
||||||
onBlur={handleBlur}
|
|
||||||
value={values.statusAddress}
|
|
||||||
error={errors.statusAddress}
|
|
||||||
wide="true"
|
|
||||||
/>
|
|
||||||
<FieldGroup
|
|
||||||
id="address"
|
|
||||||
name="address"
|
|
||||||
type="text"
|
|
||||||
label="Ethereum address domain resolves to"
|
|
||||||
onChange={handleChange}
|
|
||||||
onBlur={handleBlur}
|
|
||||||
value={values.address}
|
|
||||||
error={errors.address}
|
|
||||||
button={<Button mode="strong" style={{ padding: '5px 15px 5px 15px', marginTop: '5px' }} onClick={() => setFieldValue('address', web3.eth.defaultAccount)}>Use My Primary Address</Button>}
|
|
||||||
/>
|
|
||||||
{!isSubmitting ? <Button wide mode="strong" type="submit" disabled={isSubmitting || !!Object.keys(errors).length}>{!isSubmitting ? 'Submit' : 'Submitting to the Blockchain - (this may take awhile)'}</Button> : <LinearProgress />}
|
|
||||||
</Hidden>
|
|
||||||
<Hidden mdUp>
|
|
||||||
<Field label="Your Contact Code">
|
|
||||||
<MobileSearch
|
|
||||||
name="statusAddress"
|
name="statusAddress"
|
||||||
style={{ marginTop: '10px' }}
|
type="text"
|
||||||
placeholder="Status Messenger Address"
|
label="Status messenger address domain resolves to"
|
||||||
|
onChange={handleChange}
|
||||||
|
onBlur={handleBlur}
|
||||||
value={values.statusAddress}
|
value={values.statusAddress}
|
||||||
onChange={handleChange}
|
error={errors.statusAddress}
|
||||||
onClick={() => setFieldValue('statusAddress', '')}
|
wide="true"
|
||||||
wide />
|
/>
|
||||||
</Field>
|
<FieldGroup
|
||||||
<Field label="Your Wallet Address">
|
id="address"
|
||||||
<MobileSearch
|
|
||||||
name="address"
|
name="address"
|
||||||
style={{ marginTop: '10px' }}
|
type="text"
|
||||||
placeholder="Ethereum Address"
|
label="Ethereum address domain resolves to"
|
||||||
value={values.address}
|
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
onClick={() => setFieldValue('address', '')}
|
onBlur={handleBlur}
|
||||||
required
|
value={values.address}
|
||||||
wide />
|
error={errors.address}
|
||||||
</Field>
|
button={<Button mode="strong" style={{ padding: '5px 15px 5px 15px', marginTop: '5px' }} onClick={() => setFieldValue('address', web3.eth.defaultAccount)}>Use My Primary Address</Button>}
|
||||||
<div style={{ position: 'relative', left: 0, right: 0, bottom: 0 }}>
|
/>
|
||||||
<MobileButton type="submit" text="Register with transaction" style={{ width: '100%' }}/>
|
{!isSubmitting ? <Button wide mode="strong" type="submit" disabled={isSubmitting || !!Object.keys(errors).length}>{!isSubmitting ? 'Submit' : 'Submitting to the Blockchain - (this may take awhile)'}</Button> : <LinearProgress />}
|
||||||
</div>
|
</Hidden>
|
||||||
</Hidden>
|
<Hidden mdUp>
|
||||||
|
<Field label="Your Contact Code">
|
||||||
|
<MobileSearch
|
||||||
|
name="statusAddress"
|
||||||
|
style={{ marginTop: '10px' }}
|
||||||
|
placeholder="Status Messenger Address"
|
||||||
|
value={values.statusAddress}
|
||||||
|
onChange={handleChange}
|
||||||
|
onClick={() => setFieldValue('statusAddress', '')}
|
||||||
|
wide />
|
||||||
|
</Field>
|
||||||
|
<Field label="Your Wallet Address">
|
||||||
|
<MobileSearch
|
||||||
|
name="address"
|
||||||
|
style={{ marginTop: '10px' }}
|
||||||
|
placeholder="Ethereum Address"
|
||||||
|
value={values.address}
|
||||||
|
onChange={handleChange}
|
||||||
|
onClick={() => setFieldValue('address', '')}
|
||||||
|
required
|
||||||
|
wide />
|
||||||
|
</Field>
|
||||||
|
<div style={{ position: 'relative', left: 0, right: 0, bottom: 0 }}>
|
||||||
|
{!Number(SNTAllowance) ? <TokenPermissions
|
||||||
|
symbol="SNT"
|
||||||
|
spender={ENSSubdomainRegistry.address}
|
||||||
|
methods={TestToken.methods}
|
||||||
|
mobile
|
||||||
|
/>
|
||||||
|
: <MobileButton type="submit" text="Register with transaction" style={{ width: '100%' }}/>}
|
||||||
|
</div>
|
||||||
|
</Hidden>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue