poa-dapps-voting/src/index.js

63 lines
1.7 KiB
JavaScript
Raw Normal View History

import React, { Component } from 'react';
2017-12-11 14:23:01 -08:00
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
2017-12-19 06:27:27 -08:00
import { Provider } from 'mobx-react';
import commonStore from './stores/CommonStore';
import validatorStore from './stores/ValidatorStore';
import ballotStore from './stores/BallotStore';
import contractsStore from './stores/ContractsStore';
2017-12-11 14:23:01 -08:00
import swal from 'sweetalert2';
import getWeb3 from './getWeb3';
import "babel-polyfill";
const stores = { commonStore, contractsStore, ballotStore, validatorStore };
function generateElement(msg){
let errorNode = document.createElement("div");
errorNode.innerHTML = `<div>
${msg}
</div>`;
return errorNode;
}
class AppMainRouter extends Component {
constructor(props) {
super(props);
getWeb3().then(async (web3Config) => {
contractsStore.setWeb3Instance(web3Config);
contractsStore.setVotingToChangeKeys(web3Config);
contractsStore.setVotingToChangeMinThreshold(web3Config);
contractsStore.setVotingToChangeProxy(web3Config);
contractsStore.setVotingKey(web3Config);
await contractsStore.setMiningKey(web3Config);
console.log("votingKey", contractsStore.votingKey)
console.log("miningKey", contractsStore.miningKey)
}).catch((error) => {
console.error(error.message);
swal({
icon: 'error',
title: 'Error',
content: generateElement(error.message)
});
});
}
render(){
return (
<Provider { ...stores }>
<BrowserRouter>
<App/>
</BrowserRouter>
</Provider>
)
}
2017-12-11 14:23:01 -08:00
}
ReactDOM.render(<AppMainRouter />, document.getElementById('root'));
2017-12-11 14:23:01 -08:00
registerServiceWorker();