You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
// @flow
|
|
|
|
import React from 'react'
|
|
import { ThemeProvider } from 'styled-components'
|
|
import { ConnectedRouter } from 'react-router-redux'
|
|
import { Switch, Route } from 'react-router'
|
|
import { Provider } from 'react-redux'
|
|
import { I18nextProvider } from 'react-i18next'
|
|
import { hot } from 'react-hot-loader'
|
|
|
|
import theme from 'styles/theme'
|
|
|
|
import i18n from 'renderer/i18n/electron'
|
|
|
|
import ThrowBlock from 'components/ThrowBlock'
|
|
import Default from 'components/layout/Default'
|
|
import CounterValues from 'helpers/countervalues'
|
|
import { BridgeSyncProvider } from 'bridge/BridgeSyncContext'
|
|
|
|
const App = ({
|
|
store,
|
|
history,
|
|
language,
|
|
}: {
|
|
store: Object,
|
|
history: Object,
|
|
language: string,
|
|
}) => (
|
|
<Provider store={store}>
|
|
<BridgeSyncProvider>
|
|
<CounterValues.PollingProvider>
|
|
<I18nextProvider i18n={i18n} initialLanguage={language}>
|
|
<ThemeProvider theme={theme}>
|
|
<ThrowBlock>
|
|
<ConnectedRouter history={history}>
|
|
<Switch>
|
|
<Route component={Default} />
|
|
</Switch>
|
|
</ConnectedRouter>
|
|
</ThrowBlock>
|
|
</ThemeProvider>
|
|
</I18nextProvider>
|
|
</CounterValues.PollingProvider>
|
|
</BridgeSyncProvider>
|
|
</Provider>
|
|
)
|
|
|
|
export default hot(module)(App)
|
|
|