2018-06-12 19:56:41 +00:00
|
|
|
import React, { Fragment } from 'react';
|
2018-05-13 04:31:01 +00:00
|
|
|
import ReactDOM from 'react-dom';
|
2018-07-06 22:12:09 +00:00
|
|
|
import 'typeface-roboto'
|
2018-07-09 19:07:55 +00:00
|
|
|
import CssBaseline from '@material-ui/core/CssBaseline';
|
2018-05-13 04:31:01 +00:00
|
|
|
import { Tabs, Tab } from 'react-bootstrap';
|
2018-06-12 19:56:41 +00:00
|
|
|
import Toggle from 'react-toggle';
|
2018-05-13 04:31:01 +00:00
|
|
|
import EmbarkJS from 'Embark/EmbarkJS';
|
2018-05-17 19:53:23 +00:00
|
|
|
import TopNavbar from './components/topnavbar';
|
2018-05-13 04:31:01 +00:00
|
|
|
import TestTokenUI from './components/testtoken';
|
2018-05-17 15:04:47 +00:00
|
|
|
import ERC20TokenUI from './components/erc20token';
|
2018-06-12 22:17:04 +00:00
|
|
|
import TestToken from 'Embark/contracts/TestToken';
|
2018-06-05 00:34:56 +00:00
|
|
|
import ENSSubManagement from './components/ensSubManagement';
|
2018-09-04 21:49:39 +00:00
|
|
|
import UsernameRegistrar from 'Embark/contracts/UsernameRegistrar';
|
2018-06-05 00:34:56 +00:00
|
|
|
import NameLookup from './components/ens/nameLookup';
|
2018-06-12 22:17:04 +00:00
|
|
|
import AdminMode from './components/AdminMode';
|
2018-06-13 16:58:19 +00:00
|
|
|
import TokenPermissions from './components/standard/TokenPermissionConnect';
|
2018-06-19 19:05:42 +00:00
|
|
|
import web3 from "Embark/web3";
|
|
|
|
import Paper from '@material-ui/core/Paper';
|
|
|
|
import Typography from '@material-ui/core/Typography';
|
2018-07-06 22:12:09 +00:00
|
|
|
import Welcome from './components/ens/welcome';
|
2018-07-09 19:07:55 +00:00
|
|
|
import Fade from '@material-ui/core/Fade';
|
2018-07-11 17:31:33 +00:00
|
|
|
import Hidden from '@material-ui/core/Hidden';
|
2018-08-24 18:13:06 +00:00
|
|
|
import Web3Render from './components/standard/Web3Render';
|
2018-09-04 16:29:05 +00:00
|
|
|
import StatusOptimized from './components/standard/StatusOptimized';
|
2018-05-13 04:31:01 +00:00
|
|
|
|
|
|
|
import './dapp.css';
|
|
|
|
|
2018-06-19 19:05:42 +00:00
|
|
|
const { getNetworkType } = web3.eth.net;
|
|
|
|
|
|
|
|
const symbols = {
|
|
|
|
'ropsten': 'STT',
|
|
|
|
'private': 'SNT',
|
|
|
|
'main': 'SNT'
|
|
|
|
}
|
|
|
|
|
2018-05-13 04:31:01 +00:00
|
|
|
class App extends React.Component {
|
|
|
|
constructor(props) {
|
2018-06-12 19:56:41 +00:00
|
|
|
super(props)
|
2018-05-13 04:31:01 +00:00
|
|
|
}
|
2018-07-09 19:07:55 +00:00
|
|
|
state = { admin: false, searching: false };
|
2018-05-13 04:31:01 +00:00
|
|
|
|
2018-05-22 14:31:27 +00:00
|
|
|
componentDidMount(){
|
2018-09-28 19:12:52 +00:00
|
|
|
EmbarkJS.onReady((err) => {
|
2018-06-19 19:05:42 +00:00
|
|
|
getNetworkType().then(network => { this.setState({ network })});
|
2018-05-13 04:31:01 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2018-06-12 19:56:41 +00:00
|
|
|
render() {
|
2018-07-09 19:07:55 +00:00
|
|
|
const { admin, network, searching } = this.state;
|
|
|
|
const toggleSearch = () => { this.setState({ searching: !searching }) };
|
2018-08-24 18:13:06 +00:00
|
|
|
const isRopsten = network === 'ropsten';
|
2018-08-29 16:01:32 +00:00
|
|
|
const isMainnet = network === 'main';
|
2018-05-23 19:57:38 +00:00
|
|
|
return (
|
2018-06-12 19:56:41 +00:00
|
|
|
<div>
|
2018-09-04 16:29:05 +00:00
|
|
|
<Hidden mdDown>
|
|
|
|
<StatusOptimized />
|
|
|
|
</Hidden>
|
2018-07-11 17:31:33 +00:00
|
|
|
<div style={{ display: admin ? 'block' : 'none' }} >
|
|
|
|
<AdminMode style={{ display: admin ? 'block' : 'none' }}/>
|
|
|
|
</div>
|
|
|
|
{!searching && <Fade in={!searching}>
|
|
|
|
<div>
|
|
|
|
<Welcome toggleSearch={toggleSearch} />
|
2018-07-09 19:07:55 +00:00
|
|
|
</div>
|
2018-07-11 17:31:33 +00:00
|
|
|
</Fade>}
|
|
|
|
{searching && <Fade in={searching}>
|
2018-09-13 12:20:39 +00:00
|
|
|
<Web3Render ready={isRopsten} network={'Ropsten'}>
|
2018-08-24 18:13:06 +00:00
|
|
|
<div>
|
|
|
|
<NameLookup />
|
|
|
|
<Hidden mdDown>
|
|
|
|
<div style={{ textAlign: 'center', margin: '0px 40px' }}>
|
|
|
|
<TokenPermissions
|
|
|
|
symbol={symbols[network] || 'SNT'}
|
2018-09-04 21:49:39 +00:00
|
|
|
spender={UsernameRegistrar._address}
|
2018-08-24 18:13:06 +00:00
|
|
|
methods={TestToken.methods} />
|
|
|
|
<hr/>
|
|
|
|
<Toggle onChange={() => { this.setState({ admin: !admin })}} />
|
|
|
|
<br/>
|
|
|
|
<span>Admin Mode</span>
|
|
|
|
</div>
|
|
|
|
</Hidden>
|
|
|
|
</div>
|
|
|
|
</Web3Render>
|
2018-07-11 17:31:33 +00:00
|
|
|
</Fade>}
|
2018-06-12 19:56:41 +00:00
|
|
|
</div>
|
|
|
|
);
|
2018-05-13 04:31:01 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-06-01 14:25:59 +00:00
|
|
|
export default App;
|