2017-09-20 12:30:53 +03:00
|
|
|
import React from 'react';
|
|
|
|
import { ThemeProvider } from 'styled-components';
|
2018-01-17 21:10:39 +02:00
|
|
|
import { Provider as ReduxProvider } from 'react-redux';
|
2017-09-20 12:30:53 +03:00
|
|
|
import { ApolloProvider } from 'react-apollo';
|
|
|
|
|
|
|
|
import { theme, RootContainer } from 'joyent-ui-toolkit';
|
|
|
|
|
|
|
|
import { client, store } from '@state/store';
|
|
|
|
import Router from '@root/router';
|
2017-11-28 16:50:55 +02:00
|
|
|
|
2017-12-21 02:12:42 +02:00
|
|
|
const { NODE_ENV } = process.env;
|
|
|
|
const IS_PRODUCTION = NODE_ENV === 'production';
|
|
|
|
|
2017-11-28 16:50:55 +02:00
|
|
|
const fullTheme = {
|
|
|
|
...theme,
|
2017-12-21 02:12:42 +02:00
|
|
|
font: {
|
|
|
|
...theme.font,
|
|
|
|
href: !IS_PRODUCTION
|
|
|
|
? theme.font.href
|
|
|
|
: () =>
|
2018-01-29 20:09:18 +02:00
|
|
|
'https://fonts.googleapis.com/css?family=Libre+Franklin:400,500,600,700'
|
2017-11-28 16:50:55 +02:00
|
|
|
}
|
|
|
|
};
|
2017-09-20 12:30:53 +03:00
|
|
|
|
|
|
|
export default () => (
|
2018-01-17 21:10:39 +02:00
|
|
|
<ApolloProvider client={client}>
|
2017-11-28 16:50:55 +02:00
|
|
|
<ThemeProvider theme={fullTheme}>
|
2018-01-17 21:10:39 +02:00
|
|
|
<ReduxProvider store={store}>
|
|
|
|
<RootContainer>
|
|
|
|
<Router />
|
|
|
|
</RootContainer>
|
|
|
|
</ReduxProvider>
|
2017-09-20 12:30:53 +03:00
|
|
|
</ThemeProvider>
|
|
|
|
</ApolloProvider>
|
|
|
|
);
|