Merge branch 'master' into ui-2
This commit is contained in:
@@ -29,10 +29,12 @@ export default class RequestOrigin extends Component {
|
||||
static propTypes = {
|
||||
origin: PropTypes.shape({
|
||||
type: PropTypes.oneOf(['unknown', 'dapp', 'rpc', 'ipc', 'signer']),
|
||||
details: PropTypes.shape({
|
||||
dapp: PropTypes.string,
|
||||
session: PropTypes.string
|
||||
}).isRequired
|
||||
details: PropTypes.oneOfType([
|
||||
PropTypes.string,
|
||||
PropTypes.shape({
|
||||
session: PropTypes.string.isRequired
|
||||
})
|
||||
]).isRequired
|
||||
}).isRequired
|
||||
};
|
||||
|
||||
@@ -129,7 +131,9 @@ export default class RequestOrigin extends Component {
|
||||
}
|
||||
|
||||
if (origin.type === 'signer') {
|
||||
return this.renderSigner(origin.details.session || origin.details);
|
||||
const session = origin.details && origin.details.session || origin.details;
|
||||
|
||||
return this.renderSigner(session);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,24 +21,28 @@ es6Promise.polyfill();
|
||||
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { AppContainer } from 'react-hot-loader';
|
||||
|
||||
import injectTapEventPlugin from 'react-tap-event-plugin';
|
||||
|
||||
import ContractInstances from '@parity/shared/contracts';
|
||||
import { initStore } from '@parity/shared/redux';
|
||||
import { patchApi } from '@parity/shared/util/tx';
|
||||
import ContextProvider from '@parity/ui/ContextProvider';
|
||||
|
||||
import SecureApi from '~/secureApi';
|
||||
import ContractInstances from '~/contracts';
|
||||
|
||||
import '@parity/shared/environment';
|
||||
import { initStore } from '~/redux';
|
||||
import ContextProvider from '~/ui/ContextProvider';
|
||||
import muiTheme from '~/ui/Theme';
|
||||
|
||||
import '@parity/shared/assets/fonts/Roboto/font.css';
|
||||
import '@parity/shared/assets/fonts/RobotoMono/font.css';
|
||||
import { patchApi } from '~/util/tx';
|
||||
import { setApi } from '~/redux/providers/apiActions';
|
||||
|
||||
import '~/environment';
|
||||
|
||||
import '../assets/fonts/Roboto/font.css';
|
||||
import '../assets/fonts/RobotoMono/font.css';
|
||||
|
||||
injectTapEventPlugin();
|
||||
|
||||
import ParityBar from '~/shell/ParityBar';
|
||||
import ParityBar from '~/views/ParityBar';
|
||||
|
||||
// Test transport (std transport should be provided as global object)
|
||||
class FakeTransport {
|
||||
@@ -60,7 +64,7 @@ class FakeTransport {
|
||||
|
||||
class FrameSecureApi extends SecureApi {
|
||||
constructor (transport) {
|
||||
super('', null, () => {
|
||||
super(transport.uiUrl, null, () => {
|
||||
return transport;
|
||||
});
|
||||
}
|
||||
@@ -87,21 +91,36 @@ class FrameSecureApi extends SecureApi {
|
||||
}
|
||||
}
|
||||
|
||||
const api = new FrameSecureApi(window.secureTransport || new FakeTransport());
|
||||
const transport = window.secureTransport || new FakeTransport();
|
||||
const uiUrl = transport.uiUrl || 'http://127.0.0.1:8180';
|
||||
|
||||
transport.uiUrl = uiUrl.replace('http://', '').replace('https://', '');
|
||||
const api = new FrameSecureApi(transport);
|
||||
|
||||
patchApi(api);
|
||||
ContractInstances.get(api);
|
||||
ContractInstances.create(api);
|
||||
|
||||
const store = initStore(api, null, true);
|
||||
|
||||
store.dispatch({ type: 'initAll', api });
|
||||
store.dispatch(setApi(api));
|
||||
|
||||
window.secureApi = api;
|
||||
|
||||
ReactDOM.render(
|
||||
<ContextProvider
|
||||
api={ api }
|
||||
store={ store }
|
||||
>
|
||||
<ParityBar dapp externalLink={ 'http://127.0.0.1:8180' } />
|
||||
</ContextProvider>,
|
||||
document.querySelector('#container')
|
||||
const app = (
|
||||
<ParityBar dapp externalLink={ uiUrl } />
|
||||
);
|
||||
const container = document.querySelector('#container');
|
||||
|
||||
ReactDOM.render(
|
||||
<AppContainer>
|
||||
<ContextProvider
|
||||
api={ api }
|
||||
muiTheme={ muiTheme }
|
||||
store={ store }
|
||||
>
|
||||
{ app }
|
||||
</ContextProvider>
|
||||
</AppContainer>,
|
||||
container
|
||||
);
|
||||
|
||||
@@ -52,7 +52,6 @@ if (process.env.NODE_ENV === 'development') {
|
||||
}
|
||||
|
||||
const AUTH_HASH = '#/auth?';
|
||||
const parityUrl = process.env.PARITY_URL || '127.0.0.1:8546';
|
||||
|
||||
let token = null;
|
||||
|
||||
@@ -60,7 +59,8 @@ if (window.location.hash && window.location.hash.indexOf(AUTH_HASH) === 0) {
|
||||
token = qs.parse(window.location.hash.substr(AUTH_HASH.length)).token;
|
||||
}
|
||||
|
||||
const api = new SecureApi(parityUrl, token);
|
||||
const uiUrl = window.location.host;
|
||||
const api = new SecureApi(uiUrl, token);
|
||||
|
||||
patchApi(api);
|
||||
ContractInstances.get(api);
|
||||
|
||||
Reference in New Issue
Block a user