import React, { Component } from 'react'; import { Provider } from 'react-redux'; import { withRouter, Switch, Redirect, Router, Route } from 'react-router-dom'; // Components import Contracts from 'containers/Tabs/Contracts'; import ENS from 'containers/Tabs/ENS'; import GenerateWallet from 'containers/Tabs/GenerateWallet'; import Help from 'containers/Tabs/Help'; import SendTransaction from 'containers/Tabs/SendTransaction'; import Swap from 'containers/Tabs/Swap'; import ViewWallet from 'containers/Tabs/ViewWallet'; import SignAndVerifyMessage from 'containers/Tabs/SignAndVerifyMessage'; import BroadcastTx from 'containers/Tabs/BroadcastTx'; import RestoreKeystore from 'containers/Tabs/RestoreKeystore'; // TODO: fix this interface Props { store: any; history: any; } export default class Root extends Component { public render() { const { store, history } = this.props; // key={Math.random()} = hack for HMR from https://github.com/webpack/webpack-dev-server/issues/395 return (
); } } const LegacyRoutes = withRouter(props => { const { history } = props; const { pathname, hash } = props.location; if (pathname === '/') { switch (hash) { case '#send-transaction': case '#offline-transaction': history.push('/send-transaction'); break; case '#generate-wallet': history.push('/'); break; case '#swap': history.push('/swap'); break; case '#contracts': history.push('/contracts'); break; case '#ens': history.push('/ens'); break; case '#view-wallet-info': history.push('/view-wallet'); break; case '#check-tx-status': history.push('/check-tx-status'); break; } } return ( ); });