/
app.js
58 lines (50 loc) · 1.47 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import 'babel-core/polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import {createHistory} from 'history';
import {Router, useRouterHistory} from 'react-router';
import {RouterResolver} from 'router-resolver';
import App from 'components/App.js';
import pkg from '../../package.json';
import Spinner from 'components/common/Spinner';
import 'bootstrap/dist/css/bootstrap.css';
import 'react-progress-bar-plus/lib/progress-bar.css';
import 'assets/styles/app.scss';
const routes = {
path: '/',
component: App,
indexRoute: {
component: require('components/pages/PageHome')
},
childRoutes: [
require('./routes/Example1Route'),
require('./routes/Example2Route'),
require('./routes/Example3Route'),
require('./routes/Example4Route')
]
};
const DEV = process && process.env && process.env.NODE_ENV === 'development';
const history = useRouterHistory(createHistory)({
basename: '/' + (DEV ? '' : pkg.name)
});
const renderInitial = () => {
return <Spinner isLoading={true} fullScreen={true}/>;
};
const onError = (error) => {
console.log('Error: ', error);
};
const run = () => {
ReactDOM.render(
<Router routes={routes}
history={history}
render={props => (
<RouterResolver {...props} renderInitial={renderInitial} onError={onError}/>
)}/>,
document.getElementById('app')
);
};
if (window.addEventListener) {
window.addEventListener('DOMContentLoaded', run);
} else {
window.attachEvent('onload', run);
}