aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/app.js
blob: 8fa52a00801d76c42a90ae00e21a6861c8ed9956 (plain)
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
import React from "react"
import { render } from 'react-dom'
import { applyMiddleware, createStore } from 'redux'
import { Provider } from 'react-redux'
import createLogger from 'redux-logger'
import thunkMiddleware from 'redux-thunk'
import { Route, Router as ReactRouter, hashHistory, Redirect } from "react-router"

import Connection from "./connection"
import ProxyApp from "./components/ProxyApp"
import MainView from './components/MainView'
import rootReducer from './ducks/index'
import { addLogEntry } from "./ducks/eventLog"

// logger must be last
const store = createStore(
    rootReducer,
    applyMiddleware(thunkMiddleware, createLogger())
)

window.addEventListener('error', msg => {
    store.dispatch(addLogEntry(msg))
})

// @todo remove this
document.addEventListener('DOMContentLoaded', () => {
    window.ws = new Connection("/updates", store.dispatch)

    render(
        <Provider store={store}>
            <ReactRouter history={hashHistory}>
                <Redirect from="/" to="/flows" />
                <Route path="/" component={ProxyApp}>
                    <Route path="flows" component={MainView}/>
                    <Route path="flows/:flowId/:detailTab" component={MainView}/>
                </Route>
            </ReactRouter>
        </Provider>,
        document.getElementById("mitmproxy")
    )
})