Init history in dapp module
This commit is contained in:
parent
b1428c2b56
commit
d7de40ab4c
@ -19,10 +19,24 @@ import { observer } from 'mobx-react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import Api from '@parity/api';
|
||||
import builtinDapps from '@parity/shared/config/dappsBuiltin.json';
|
||||
import viewsDapps from '@parity/shared/config/dappsViews.json';
|
||||
import DappsStore from '@parity/shared/mobx/dappsStore';
|
||||
import HistoryStore from '@parity/shared/mobx/historyStore';
|
||||
|
||||
import styles from './dapp.css';
|
||||
|
||||
const internalDapps = []
|
||||
.concat(viewsDapps, builtinDapps)
|
||||
.map((app) => {
|
||||
if (app.id && app.id.substr(0, 2) !== '0x') {
|
||||
app.id = Api.util.sha3(app.id);
|
||||
}
|
||||
|
||||
return app;
|
||||
});
|
||||
|
||||
@observer
|
||||
export default class Dapp extends Component {
|
||||
static contextTypes = {
|
||||
@ -39,10 +53,15 @@ export default class Dapp extends Component {
|
||||
};
|
||||
|
||||
store = DappsStore.get(this.context.api);
|
||||
historyStore = HistoryStore.get('dapps');
|
||||
|
||||
componentWillMount () {
|
||||
const { id } = this.props.params;
|
||||
|
||||
if (!internalDapps[id] || !internalDapps[id].skipHistory) {
|
||||
this.historyStore.add(id);
|
||||
}
|
||||
|
||||
this.loadApp(id);
|
||||
}
|
||||
|
||||
|
@ -23,11 +23,7 @@ import injectTapEventPlugin from 'react-tap-event-plugin';
|
||||
import { IndexRoute, Redirect, Route, Router, hashHistory } from 'react-router';
|
||||
import qs from 'querystring';
|
||||
|
||||
import Api from '@parity/api';
|
||||
import builtinDapps from '@parity/shared/config/dappsBuiltin.json';
|
||||
import viewsDapps from '@parity/shared/config/dappsViews.json';
|
||||
import ContractInstances from '@parity/shared/contracts';
|
||||
import HistoryStore from '@parity/shared/mobx/historyStore';
|
||||
import { initStore } from '@parity/shared/redux';
|
||||
import ContextProvider from '@parity/ui/ContextProvider';
|
||||
|
||||
@ -35,8 +31,8 @@ import '@parity/shared/environment';
|
||||
|
||||
import Application from './Application';
|
||||
import Dapp from './Dapp';
|
||||
import { setupProviderFilters } from './DappRequests';
|
||||
import Dapps from './Dapps';
|
||||
import { setupProviderFilters } from './DappRequests';
|
||||
import SecureApi from './secureApi';
|
||||
|
||||
injectTapEventPlugin();
|
||||
@ -65,32 +61,15 @@ setupProviderFilters(api.provider);
|
||||
|
||||
const store = initStore(api, hashHistory);
|
||||
|
||||
const dapps = [].concat(viewsDapps, builtinDapps).map((app) => {
|
||||
if (app.id && app.id.substr(0, 2) !== '0x') {
|
||||
app.id = Api.util.sha3(app.id);
|
||||
}
|
||||
|
||||
return app;
|
||||
});
|
||||
|
||||
const dappsHistory = HistoryStore.get('dapps');
|
||||
|
||||
function onEnterDapp ({ params: { id } }) {
|
||||
if (!dapps[id] || !dapps[id].skipHistory) {
|
||||
dappsHistory.add(id);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('UI version', process.env.UI_VERSION);
|
||||
console.log('Loaded dapps', dapps);
|
||||
|
||||
ReactDOM.render(
|
||||
<ContextProvider api={ api } store={ store }>
|
||||
<Router history={ hashHistory }>
|
||||
<Route path='/' component={ Application }>
|
||||
<Redirect from='/auth' to='/' />
|
||||
<Route path='/:id' component={ Dapp } onEnter={ onEnterDapp } />
|
||||
<Route path='/:id/:details' component={ Dapp } onEnter={ onEnterDapp } />
|
||||
<Route path='/:id' component={ Dapp } />
|
||||
<Route path='/:id/:details' component={ Dapp } />
|
||||
<IndexRoute component={ Dapps } />
|
||||
</Route>
|
||||
</Router>
|
||||
|
Loading…
Reference in New Issue
Block a user